繁体   English   中英

如何在C中创建指向2D数组的指针?

[英]How to create pointer to 2D array in C?

我有一个像这样的2D数组,我想要一个指向它的指针。

目前我有这个:

char* recv_args_msg_queue[20];
char** ref_temp = &recv_args_msg_queue[0];
char*** ref_queue = &ref_temp;

但我觉得我的方式真的很愚蠢。 有没有办法在一条线上做到这一点?

注意:

char* recv_args_msg_queue[20]; 稍后在我的代码中正确分配为一个数组。 我只想要动态分配,否则我可以写:

char recv_args_msg_queue[20][another_number_here];

对数组类型使用typedef将更容易获得指向它的指针。

您的代码如下所示:

typedef char* msg_queue20[20];

msg_queue20 recv_args_msg_queue;
msg_queue20* ref_queue = &recv_args_msg_queue;

请仔细阅读我发布的链接,因为它包含重要的建议

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM