Я нашел этот кусок кода, и я не понимаю, что это значит. Имеем ли мы право использовать обозначение массива, как здесь?Можем ли мы использовать обозначение массива для памяти, выделенной malloc?
double *myList = malloc(3 * sizeof(double));
myList[0] = 1.2;
myList[1] = 2.3;
myList[2] = 3.4;
EDIT: Я считаю, что это обозначение использует тот факт, что адрес памяти MyList [0], MyList [1], MyList [2] являются последовательными. malloc() не гарантирует, что адреса будут назначены последовательно.
Да, это то, как вы динамически выделяете массив –
Да. 'myList [x]' действительно использует арифметику указателя, чтобы перейти к элементу 'x', а затем разыменовать это местоположение. То есть 'myList [x]' эквивалентно '* (myList + x)' – kaylum
Предложите прочитать книгу на C. –