c结构体的问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:52:37
struct data
{
char *str1;
char *str2;
}
像我这样定义这样的结构体放在程序中而不使用它,存在内存问题吗
我说的内存错误指data会不会占用内存

占用内存.我是这样测试的,大家看看对不对!

main()
{
struct
{
char *str1;
char *str2;
}data;
printf("%d\n",sizeof(data));
}

显示结果为4.

用strlen(data)测试一下就知道了.
没有定义变量,STRUCT数据结构不会给那个变量分配内存单元.

不占用内存,不报错,程序中不使用会警告,可以当作内部数据类型来理解,例如如果不定义int a的话编译器是不会给a分配内存的,这里的int就相当于data,也就是说不定义data类型的变量时是不会分配内存的

编译会警告,链接之后会去掉这个没使用的数据类型。

在VC中要报错的 TC不知道 不报的样