天天看點

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();

}      

轉載于:https://www.cnblogs.com/lanjianhappy/p/6011516.html