将字符串分配给复杂指针

时间:2012-01-22 16:19:40

标签: string pointers struct

我正在尝试将字符串分配给像这样定义的数组

char *(*attributes)[][2];由我正在使用的库定义。

我希望能够将字符串放入attributes[i][0]

我想我只是对指针感到困惑,我收到错误,指出无效使用带有未指定边界的数组。

属性数组存储在名为info。

的结构中

我试图以下列方式访问它:

*(info->attributes)[i][0] = newAttributeName 这对我来说很有意义,但正如我所说,不起作用。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

由于没有其他人提供,我建议:

char *attributesa[][2] = *attributes;
char *attributesb[2] = attributesa[0];
attributesb[0] = "Horsefeathers";

然后弄清楚如何将其变成一个陈述。

答案 1 :(得分:0)

这是正确的方法,供将来参考:

(*info->attributes)[i][0] = someString; 

诀窍是括号优先于info->属性被解除引用,否则它将首先尝试找到[i] [0]。