位置:首頁(yè) > 軟件操作教程 > 編程開發(fā) > C語(yǔ)言 > 問題詳情

指向結(jié)構(gòu)體數(shù)組在C語(yǔ)言的指針

提問人:楊紫紅發(fā)布時(shí)間:2020-11-17
例如:指向結(jié)構(gòu)體數(shù)組的指針的應(yīng)用。
       struct student{  int num;  char name[20];  char sex;
                     int age;};
       struct student stu[3]={{10101,”Li Lin”,’M’,18},\
                         {10102,”Zhang Fun”,’M’,19},\

                         {10104,”Wang Min”,’F’,20}};

main( )
   { struct student *p;
     for(p=stu; p<stu+3; p++)
      printf(“%5d%-20s%2c%4d\n”,p->num,p->name, p->sex,p->age);
   }
對(duì)“->”、“.”、“[ ]”、“()”的進(jìn)一步說明
 (1) 上述運(yùn)算符具有相同的運(yùn)算優(yōu)先級(jí)和結(jié)合性;
(2) ++p->num的執(zhí)行效果等價(jià)于:   ++(p->num);
(3) (+ +p)->num的執(zhí)行效果是:先執(zhí)行p=p+1, 然后再執(zhí)行p->num(注意p的值已經(jīng)改變);
(4)(p+ +)->num的執(zhí)行效果是:先存取p->num,然后再執(zhí)行p=p+1;
 (5)  p+ +->num的執(zhí)行效果同( p + +)->num;
與定義指向普通數(shù)組的指針一樣,C語(yǔ)言允許定義指向結(jié)構(gòu)數(shù)組的指針。如果p是指向結(jié)構(gòu)數(shù)組的指針,那么p將指向該結(jié)構(gòu)數(shù)組的起始地址(第0個(gè)元素的地址)、p+1將指向這個(gè)結(jié)構(gòu)數(shù)組的第一個(gè)元素的地址、p+2將指向該結(jié)構(gòu)數(shù)組的第三個(gè)元素的地址、…,依此類推。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部