c语言结构体数组定义的三种方式
struct dangdang { char email[30]; char name[30]; char addr[100]; int num; int bugnum; char tel[20]; char phone[20]; double RMB; int dangdang;//成员名可以和类名同名 }ddd[100];//第二种形式 struct { char email[30]; char name[30]; char addr[100]; int num; int bugnum; char tel[20]; char phone[20]; double RMB; int dangdang;//成员名可以和类名同名 }dddd[100];//匿名 void main() { struct dangdang d1; struct dangdang dd[100];//第一种形式 }
#include <stdio.h> #include <stdlib.h> struct data { int num; float f1; char str[4]; }//db[3]={{1,1.0,"jk"},{2,2.0,"jkj"}};//第一种 db[3]={1,1.0,"jk",2,2.0,"jkj"};//第二种 但是匿名结构体这种方式不行 void main() { printf("\n%d",sizeof(struct data)); printf("%db",&db); printf("\n%x",&db[0]); printf("\n%x",&db[1]); printf("\n%x",&db[2]); //此处插入断点 //结构体数组在内存中是挨个挨个排列的 getchar(); }