我有一个像这样的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];
答案 0 :(得分:3)
使用typedef for your array type可以更轻松地获取指针。
您的代码如下所示:
typedef char* msg_queue20[20];
msg_queue20 recv_args_msg_queue;
msg_queue20* ref_queue = &recv_args_msg_queue;
请务必阅读我发布的链接,因为它包含important recommendations。