Я играл вокруг указателей и массивов, и я хочу, чтобы бросить/преобразовать указатель на массив Int (выделяется таНосом) для многомерного массива int.Понимания отливки/преобразование указателя на многомерный массив
Не знаю, почему следующие C Программа не печатает одинаковое число два раза.
...
str->val = malloc(16);
int (*m)[4][4] = str->val;
printf("The number is %d, yes the number is %d", str->val[4+1], (*m)[1][1]);
...
Теперь первый напечатанный номер является правильным, а второй - нет. Я нашел другой вопрос о SO, подобный моему, но я не мог решить свою проблему. Прошу прощения за возможное дублирование.
У меня есть еще один вопрос: в чем разница между следующими объявлениями?
int m[10];
int (*m)[10];
EDIT:
Моя проблема вызвана неправильной декларации поля валь моего структуры: Я сказал, что она полукокса.
может оказаться полезным http://www.unixwiz.net/techtips/reading-cdecl.html – tesseract
таНос (16) будет только выделить достаточно памяти для int array [0] [4]. – tesseract