C 指针列表(双指针)

标签 c arrays pointers

我正在尝试制作一个指向名为“线程”的结构的指针列表。这是我的尝试:

//kmalloc is my malloc, don't worry
struct thread **process0 = kmalloc(sizeof(struct *thread)); 

//^ 这一行给我一个解析错误

基本上我希望 process0[0] 成为一个线程指针, process0[1] 是指向另一个线程的指针, process0[2] 是指向另一个线程的指针, 等等

稍后我可能想访问线程的“addrspace”成员之一(指向 addrspace 结构的指针):

struct addrspace *test = process0[i][j]->addrspace; 

我在想 process0[i] 是一个特定的线程指针列表,而 process0[i][j] 是来自特定线程的特定线程指针线程指针列表...然后我想通过 -> 运算符访问其成员之一。

我一直很讨厌指针运算,希望把事情搞清楚。非常感谢。

最佳答案

您想要的数据类型是“指向结构线程的指针”,或者:

struct thread **process0 = kmalloc(sizeof(struct thread *));

关于C 指针列表(双指针),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9385018/

相关文章:

c++ - 重新分配指针后将类函数与指针一起使用

c - 动态分配多维 float 组的正确方法是什么?瓦尔格林德错误

c - 在 C 编程中使用 Char

c - 如何根据数组的索引对数组进行排序?

javascript - 将分组对象数组平均分成两部分

java - 多变量快速排序 [Java]

c - 如何在 Ubuntu 上给出 EOF,Ctrl-D 似乎不起作用?

条件编译策略——如何避免 C 语言中的 undefined symbol

java - 在Java中读取csv时删除第一行

c++ - 为什么将 "pointer to pointer to non-const"转换为 "pointer to pointer to const"是不合法的