присвоение строки сложному указателю - PullRequest
0 голосов
/ 22 января 2012

Я пытаюсь присвоить строку массиву, определенному следующим образом

char *(*attributes)[][2]; как определено библиотекой, которую я использую.

Я хочу иметь возможность вставить строку в attributes[i][0]

Я думаю, что я просто запутался в указателях, я получаю ошибки, говорящие о недопустимом использовании массива с неопределенными границами.

Массив атрибутов хранится в структуре, называемой info.

Я пытался получить к нему доступ:

*(info->attributes)[i][0] = newAttributeName что имеет смысл для меня, но, как я уже сказал, не работает.

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

0 голосов
/ 24 января 2012

Вот правильный путь для дальнейшего использования:

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

Хитрость заключается в том, что скобки дают преимущество разыменовываемым атрибутам info->, потому что в противном случае он сначала попытается найти [i] [0].

0 голосов
/ 23 января 2012

Так как никто больше не предлагает, я бы предложил:

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

, а затем выясните, как превратить это в одно утверждение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...