1. 結構數組:
#include <stdio.h>int main(void){ struct Rec {int x,y;}; struct Rec rs[10]; size_t i; for (i = 0; i
#include <stdio.h>int main(void){ struct Rec { char name[12]; short age; } rs[3] = { {"AAA", 11}, {"BBB", 22}, {"CCC", 22} }; size_t i; for (i = 0; i
2. 結構指標指向已存在的結構數組:
#include <stdio.h>int main(void){ struct Rec { char name[12]; short age; } rs[3] = { {"AAA", 11}, {"BBB", 22}, {"CCC", 22} }; struct Rec *p = rs; printf("%s, %d\n", p->name, p->age); printf("%s, %d\n", (p+1)->name, (p+1)->age); printf("%s, %d\n", (p+2)->name, (p+2)->age); getchar(); return 0;}
3. 結構指標(單個結構):
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(void){ struct Rec { char name[12]; short age; }; struct Rec *p = NULL; p = (struct Rec *)malloc(sizeof(struct Rec)); stpcpy(p->name, "ABC"); p->age = 99; printf("%s, %d\n", p->name, p->age); printf("%s, %d\n", (*p).name, (*p).age); free(p); getchar(); return 0;}
4. 結構指標(多個結構):
#include <stdio.h>#include <stdlib.h>int main(void){ struct Rec { int x; int y; } *p; size_t i, count = 10; p = (struct Rec *)malloc(sizeof(struct Rec)*count); for (i = 0; i x = i; (p+i)->y = i * i; } for (i = 0; i x, (p+i)->y); } free(p); getchar(); return 0;}
5. 連續的多個結構不就是結構數組了嗎?(同上例)
#include <stdio.h>#include <stdlib.h>int main(void){ struct Rec { int x; int y; } *p; size_t i, count = 10; p = (struct Rec *)malloc(sizeof(struct Rec)*count); for (i = 0; i