请问C语言中结构体的使用方法?

发布于 2022-07-17 07:50:38 字数 294 浏览 16 评论 9

例如结构体
typdef struct _list
{
    char *name;
    char *data;
}list;

list m;
list *p;
请问C语言中,如果要引用结构体中的成员是不是只有以下两种方法,
如 m.name,m.data,
    p->name,p->data,
还有没有其他的方面可以调用成员,如使用地址啊什么的,???急!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

愁杀 2022-07-22 02:37:09

9楼的大哥
如果结构体的成员非常多,有二十几个的时候,那一个个赋值那不是要写很多重复的代码呀

画离情绘悲伤 2022-07-22 01:25:52

一个一个赋值吧,否则就要用更复杂的办法。没有意义

假面具 2022-07-22 01:11:31

如果你里面的变量类型大小都不一样,就不能用memcpy。

抹茶夏天i‖ 2022-07-22 00:17:22

事实上很少需要这样做。

如果一定需要,就用memcpy把数组copy进那个结构体变量,这样就不用考虑结构体的结构了。因为memcpy是最低层的按字节的操作。

指尖微凉心微凉 2022-07-21 23:40:31

但是如果我要循环调用结构体中的成员怎么办?

for(i = 0,i < 10, i++)
{
strcpy(m.name, a[i]);
}
我想要a[0]赋给m.name ,a[1]给m.data,假如结构体还有很多的不同类型的成员,把a[i]给m.test .....等等
那在循环中怎么实现呢???

握住你手 2022-07-21 13:14:37

2楼的比较方法比较麻烦。
有没有简单一点的

我做我的改变 2022-07-21 06:09:37

原帖由 flw 于 2006-3-8 13:05 发表

大哥,这样教导新手可不好啊。

他问还有其他方法吗?我就这么一说.

九公里浅绿 2022-07-20 12:56:40

原帖由 mq110 于 2006-3-8 12:27 发表
如果你对结构体在内存中的结构熟悉的话.完全可以利用每个结构体开始的指针来推出各个成员的指针的地址.

大哥,这样教导新手可不好啊。

丶视觉 2022-07-20 09:32:28

如果你对结构体在内存中的结构熟悉的话.完全可以利用每个结构体开始的指针来推出各个成员的指针的地址.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文