请问C语言中结构体的使用方法?
例如结构体
typdef struct _list
{
char *name;
char *data;
}list;
list m;
list *p;
请问C语言中,如果要引用结构体中的成员是不是只有以下两种方法,
如 m.name,m.data,
p->name,p->data,
还有没有其他的方面可以调用成员,如使用地址啊什么的,???急!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
9楼的大哥
如果结构体的成员非常多,有二十几个的时候,那一个个赋值那不是要写很多重复的代码呀
一个一个赋值吧,否则就要用更复杂的办法。没有意义
如果你里面的变量类型大小都不一样,就不能用memcpy。
事实上很少需要这样做。
如果一定需要,就用memcpy把数组copy进那个结构体变量,这样就不用考虑结构体的结构了。因为memcpy是最低层的按字节的操作。
但是如果我要循环调用结构体中的成员怎么办?
如
for(i = 0,i < 10, i++)
{
strcpy(m.name, a[i]);
}
我想要a[0]赋给m.name ,a[1]给m.data,假如结构体还有很多的不同类型的成员,把a[i]给m.test .....等等
那在循环中怎么实现呢???
2楼的比较方法比较麻烦。
有没有简单一点的
他问还有其他方法吗?我就这么一说.
大哥,这样教导新手可不好啊。
如果你对结构体在内存中的结构熟悉的话.完全可以利用每个结构体开始的指针来推出各个成员的指针的地址.