将字符串分配给复杂指针



我正试图将一个字符串分配给像这样定义的数组

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

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

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

属性数组存储在一个名为info的结构中。

我已经尝试访问它作为:

*(info->attributes)[i][0] = newAttributeName这对我来说是有道理的,但正如我所说,它不起作用。

如有任何帮助,我们将不胜感激!

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

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

然后找出如何将其转化为一个语句。

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

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

诀窍是括号优先于被取消引用的info->attributes,否则它将尝试首先查找[i][0]。

最新更新