SV: en fråga angående "struct" i C.

Subject: SV: en fråga angående "struct" i C.
From: Peter Josefson (peter@abonet.se)
Date: Tue, 27 Apr 1999 20:38:50 +0200


Utifall du inte fått svar out-of-band redan:

struct foo
{
   int bar;
   double baz;
};
...
   struct foo a, *b;
...
   b = &a;
   a.bar = 4;
   b->baz = 1.5;
   if (a.baz != 1.5)
   {
      fprintf(stderr, "Antingen har jag skrivit fel eller lurat
optimizern...\n");
   }

Alltså:
    structvariabel.medlem
eller:
    pekare_till_struct->medlem
vilket är en förkortning av:
    (*pekare_till_struct).medlem
eftersom Brian tyckte det sistnämnda blev för jobbigt...

/Peter

> -----Ursprungligt meddelande-----
> Från: Nyberg, Kent [mailto:blurk@telia.com]
> Skickat: den 24 april 1999 15:59
> Till: wlug-prog@wlug.westbo.se
> Ämne: en fråga angående "struct" i C.
>
>
> För er som läser detta kan jag även säga att jag löste
> problemet angående
> random funktionen.
> Jag lyckades aldrig få den att köra srand( "klocka med millisekunder")
> Detta skulle vara en nödvändighet för att det skulle gå att
> köra rand() funktionen fler än en gång
> per sekund.
> Så jag öppnade /dev/random och läste en int där ifrån.. :)
> Så nu kör jag srand("klockan utan millisekunder" + en int
> från /dev/random) det fungerar bra för min del
> iaf men vivlar på att nån av er bryr er..
>
> men iaf.. till mitt nya problem.
> tänk er en sån här struct:
>
> struct test {
> int hej;
> char smuck[10];
> float ballroj;
>
> };
>
>
> Sedan kör jag " struct test hs; "
>
> hur gör kah för att sedan ändra på hs->hej tex?
>
> Jag har aldrig använt "struct" innan.. :( så allting är
> säkert helt fel.. men lixom..
> är det inte bara "hs->hej= 1;
>
> Eller har jag totalt fel.. jag försökte kolla lite på andras
> kod.. men kom ingen vart.. :(
> Jag testade iaf med med exemplet ovan.. och gcc ville inte
> godkänna min kod,
> Så.. om nån skulle vilja vara vänlig att tala om hur man
> ändrar värdet på "ett objekt inne i en stuct" eller vad man
> nu ska kalla det. jag kan som sagt inte det här så bra som
> jag skulle vilja..
>
> Det är till highscore listan till westbo andan som jag ska
> anv'nda detta till.
> jag bifogar mitt än så länge relayivt simple försökt att
> använda struct.. lova att inte skratta.. ok?
> Det är den sista funktionen create_highscore som strular..
> Tacksam för hjälp.
> /kent Nyberg.
>
>
>
>
>
>
> struct Header_highscore
> {
> int antal_personer;
> float max_points;
> float min_points;
> char version[10];
> };
>
>
> struct User_info
> {
> float ponits;
> char user_name[10];
> char user_date[10];
>
> };
>
>
> char score_file[] = "hs.dat";
>
> #include<stdio.h>
>
>
> int read_score(void)
> {
>
> FILE *fp;
>
> fp = fopen(score_file, "r");
> if (fp != NULL)
> {
>
> }
> else {printf("Couldnt open the highscore file!\n"); }
>
>
> }
>
>
> int main()
> {
>
> read_score();
>
>
> }
>
>
> int create_highscore()
> {
> struct Header_highscore hs;
> hs->antal_personer=15;
>
>
> }
>
>




 
 [Tillbaka till listorna]