Использование DevCpp с TDM GCC 4.9.2 в Windows 8. Но я не думаю, что платформа имеет значение для этого вопроса.
Я знаю, что мы можем использовать указатель для указания на отдельные данные или массив данных.
Я узнал об указателе на массивы, но никогда не использовал его. Какое преимущество имеет одно над другим?
Пример кода ...
#include <stdio.h>
int main()
{
int x[2]={10,20};
int *p1= NULL; //simple pointer
int (*p2)[] = NULL; //pointer to an array, specifically
p1 = x;
p2 = &x; //removing the & gives me a warning of "assignment from incompatible pointer types".
printf("x[1] = %d\n", x[1]);
*(p1+1) = 7;
printf("x[1] = %d\n", x[1]);
(*p2)[1] = 55;
printf("x[1] = %d", x[1]);
return 0;
}
Имеет ли p1 или p2 преимущество перед другими?