c语言结构体数组定义的三种方式

struct dangdang
{
char email[];
char name[];
char addr[];
int num;
int bugnum;
char tel[];
char phone[];
double RMB;
int dangdang;//成员名可以和类名同名
}ddd[];//第二种形式 struct
{
char email[];
char name[];
char addr[];
int num;
int bugnum;
char tel[];
char phone[];
double RMB;
int dangdang;//成员名可以和类名同名
}dddd[];//匿名
void main()
{
struct dangdang d1;
struct dangdang dd[];//第一种形式
}
#include <stdio.h>
#include <stdlib.h> struct data
{
int num;
float f1;
char str[]; }//db[3]={{1,1.0,"jk"},{2,2.0,"jkj"}};//第一种
db[]={,1.0,"jk",,2.0,"jkj"};//第二种 但是匿名结构体这种方式不行
void main()
{
printf("\n%d",sizeof(struct data));
printf("%db",&db);
printf("\n%x",&db[]);
printf("\n%x",&db[]);
printf("\n%x",&db[]);
//此处插入断点 //结构体数组在内存中是挨个挨个排列的
getchar(); }
上一篇:c语言学习之基础知识点介绍(十七):写入读取结构体、数组、结构体数组


下一篇:深入Delphi下的DLL编程