结构体定义使用及指针长度问题

本文详细探讨了C语言中结构体的定义问题,包括如何避免`dereferencing pointer to incomplete type`错误,以及结构体指针的使用注意事项,如必须先赋值或分配内存。同时,文章讲解了指针长度的问题,指出指针长度不代表其所指向内存的大小,并通过示例展示了sizeof和strlen的区别。最后,总结了指针与数组的主要差异,强调了数组的容量固定和指针的动态特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.结构体定义问题

typedef struct{

int a;

char b;

int b;

}test;

然后再程序中定义一个结构体变量:struct test iseq;

引用成员变量:iseq.a=1;

编译程序时候会出现:dereferencing pointer to incomplete type错误

解决方法:在结构体定义的时候struct 后面一定要先有一个名字(不知道是否正确,但是实验结果是对的),改为如下:

typedef struct _test{

int a;

char b;

int b;

}test;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值