это код, который работает отлично ...Есть некоторые сомнения в этом коде ... (указатели)
int main()
{
char c[]={'\t','\n','\0'};
int i;
char *p,*str;
str=c;
p=&c[1];
printf("%d\n%d\n",*p,*str);
system("pause");
return 0;
}
Моя проблема заключается в том, почему это str=c;
и не str=&c;
(что дает ошибку) и его p=&c[1];
и не p=c[1]
?
Пожалуйста, dowvoters, объяснить себя. –
Массивы не указатели. http://c-faq.com/aryptr/aryptr2.html –
Нет, имя массива не является указателем. Это _converted_ для указателя, если это не операнд оператора sizeof или address ('&'), или строковый литерал, используемый для инициализации массива. –