gpt4 book ai didi

C取消引用结构中的整数指针

转载 作者:太空宇宙 更新时间:2023-11-03 23:41:06 25 4
gpt4 key购买 nike

我在正确解引用指向驻留在结构数组中的整数的指针时遇到问题。代码的相关部分是:

typedef struct hf_register_info {
int *p_id; /**< written to by register() function */
header_field_info hfinfo; /**< the field info to be registered */
} hf_register_info;
.
.
hf_register_info hf[MAX_HF_COUNT];
.
.
*(hf[i].p_id) = -1;

上面最后一行代码导致异常。如何正确引用 p_id?

感谢和问候...保罗

最佳答案

你需要初始化你的指针。在初始化数组时,结构中的指针未指向任何内容。

因此,对于数组中的每个结构,您想要取消引用指针并为其赋值,您需要先在内存中分配空间。

hf_register_info hf[MAX_HF_COUNT];

// some code here

hf[i].p_id = malloc(sizeof(int)); // or unsigned long or whatever
*(hf[i].p_id) = -1;

关于C取消引用结构中的整数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45512779/

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