gpt4 book ai didi

c - 指针操作期间出现段错误

转载 作者:太空宇宙 更新时间:2023-11-04 05:05:42 24 4
gpt4 key购买 nike

我在 C 中有以下结构。

struct a {
long state;
long uid;
long w, x, y, z, xx, yy, zz, xxx, yyy, zzz;
char comm[64];
};

然后我按如下方式执行 malloc

buf = malloc (100 * sizeof(struct a));

但是当我尝试按如下方式访问各个结构时,我遇到了段错误。

for (i = 0; i < 100; ++i) {
tmp = buf + (i * sizeof(struct a));
printf ("\t>%d>%ld,%ld\n", i, tmp->state, tmp->uid);
}

我在前 10 个条目后遇到段错误。我不知道为什么会这样。请帮忙。

最佳答案

如果 buf 是指向结构 a 的指针,则指针数学应该是:

tmp = buf + i;

关于c - 指针操作期间出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12630513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com