아래 코드에서 배열이 함수의 인수로 전달 될 때 배열의 첫 번째 요소를 가리키는 포인터가되므로 왜 우리는 역 참조 할 수 없습니까? 내가 사용하는 경우배열 이름에 간접 연산자를 사용할 수없는 이유는 무엇입니까?
#include <stdio.h>
int main(void) {
char s[] = "radha";
int a[2] = {0,1};
printf("%s ", *s);
printf("%d", *a);
return 0;
}
나는 위의 코드 세그먼트 오류를 얻고, 무슨 이유가 여기에 A * (A + 0), 그래서 단순히의 문제가 무엇으로 [0], 그것은 내부적으로 변환됩니다 * a 또는 * S를 할 때는 명확히하십시오.
'의 printf ("%의 S"* S)'-> '의 printf ("%의 S', S) ' –
'* s' == '에서 S [0]'==' r''. 'printf ("% s", s); 또는 printf ("% c", * s);' – BLUEPIXY
끔찍한 질문 제목, 당신은 더 좋은 것을 생각해야합니다. –