結構體指標

2021-10-10 19:32:57 字數 1156 閱讀 2016

/*結構體指標 */

#include

/*定義結構體,用變數和指標和指向運算子進行輸出

*即stu1.成員,(*p).成員,p->成員,都可以輸出結構體指標所指向的結構體變數的結構體成員*/

#include

#include

intmain

(void

)stu1,

*p;//定義結構體變數與結構體指標,也可寫為struct student stu1,struct student *p;

p=&stu1;

//將變數的位址傳給指標變數

stu1.num=

10101

;strcpy

(stu1.name,

"li lin");

stu1.***=

'm';

stu1.score=

86.5

;printf

("no:%1d\nname:%s\n***:%c\nscore:%5.1f\n"

,stu1.num,stu1.name,stu1.***,stu1.score)

;printf

("no:%1d\nname:%s\n***:%c\nscore:%5.1f\n",(

*p).num,

(*p)

.name,

(*p)

.***,

(*p)

.score)

;printf

("no:%1d\nname:%s\n***:%c\nscore:%5.1f\n"

,p->num,p->name,p->***,p->score)

;//p指向的結構體變數中的各個成員

return0;

}

除錯結果

no:

10101

name:li lin

***:m

score:

86.5

no:10101

name:li lin

***:m

score:

86.5

no:10101

name:li lin

***:m

score:

86.5

結構體指標中包含結構體指標

將c 轉化為c的過程中,一些c 的特性無法使用 類內私有變數在類內公共函式中使用,轉化為c的時候選擇用malloc的方式,申請一段記憶體空間去儲存它,在函式中傳指標形參去操作這些變數。這時候遇到乙個問題,結構體中包含了另乙個結構體的指標,這導致了我malloc的時候,另乙個結構體中的記憶體空間沒有申...

結構體指標

定義結構體 typedef struct str stu t 建立結構體指標,存放某乙個結構體變數的首位址 stu t p2stu null 重新命名結構體指標名 typedef將使得原來申明的結構體變數成為資料型別 typedef stu t p2stu t 建立結構體指標,存放某乙個結構體變數的...

結構體指標

指向結構體型別變數的使用 首先讓我們定義結構體 struct stu 再定義指向結構體型別變數的指標變數 struct stu p1,p2 定義指標變數p 1 p 2,分別指向結構體型別變數。引用形式為 指標變數 成員 例7 2 對指向結構體型別變數的正確使用。輸入乙個結構體型別變數的成員,並輸出。...