이 잘 작동 코드입니다 ...이 코드에서 몇 가지 의문 ... (포인터)
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 –
아니요, 배열 이름입니다. 포인터가 아닙니다. 'sizeof' 또는 주소 ('&') 연산자의 피연산자 나 배열을 초기화하는 데 사용되는 문자열 리터럴이 아닌 한, 포인터에 _ 변환됩니다. –