struct student
;
這裡我們定義了乙個結構體
第一種方式指向data區
struct student s;
s.number=10;
s.score=20;
strcpy
(s.name,
"mike");
printf
("%d %s %d\n"
,s.number,s.name,s.score)
;
前面的number和score都沒有問題,這裡我們將s.name用strcopy函式將文字常量區的「mike」字串拷貝到s.name所指向的記憶體中去,因為name本身就是指標,字串常量就是首元素位址,故而可以這樣操作.
第一種方式的不同寫法
struct student s;
s.number=10;
s.score=20;
s.name=
"mike"
;printf
("%d %s %d\n"
,s.number,s.name,s.score)
;
struct student *s;
s->number=10;
s->score=20;
strcpy
(s->name,
"mike");
printf
("%d %s %d\n"
,s->number,s->name,s->score)
;
第二種方式指向棧區
struct student p;
char buf[
100]
; p.number=10;
p.score=1;
p.name=buf;
printf
("%d %s %d"
,p.number,p.name,p.score)
;
這裡我們定義了乙個字元型的陣列,將name指向的棧區的buf
以上有些**無法在dev通過,可以用gcc編譯通過,不是**有問題!!!
結構體成員 陣列或指標
c語言中沒有字串型別,只能使用字元陣列表示字串。當定義結構體時,成員是字元陣列時,在外部給該成員賦值,不能使用 結構體把變數名.成員名 ssss 直接列印輸出結構體成員陣列名,輸出的是位址。可以使用字串函式 strcpy 給字元陣列 相當於字串 複製乙個字串。struct student4 使用這種...
指向結構體的指標和指向結構體指標的指標
剛才用結構體的指標,操作記憶體出錯了,記錄一下。struct t ptr 是指向乙個結構體的指標,也可以當做乙個結構體陣列來用。可以把結構體當做 int 來看,int 型別即可以指向乙個整數,也可以指向陣列。struct t ptr,說白了 就是乙個結構體指標的陣列,陣列內都是指標,還要分配記憶體。...
指向結構體的指標和指向結構體指標的指標
例如,struct t ptr 是指向乙個結構體的指標,也可以當做乙個結構體陣列來用。可以把結構體當做 int 來看,int 型別即可以指向乙個整數,也可以指向陣列。struct t ptr,說白了 就是乙個結構體指標的陣列,陣列內都是指標,還要分配記憶體。1,結構體指標用法一 strusysinf...