2011-03-04 2 views

답변

3

색인이없는 배열 이름 자체는 포인터입니다.

int a[10]; 
printf("%d\n",*a); // will print first value 
printf("%d\n",*(a+1)); // will print second value 
+0

보다 C++에 더가없는 아니, 그건 그대로 복제,하지만 하나에 자동으로 변환되지 않습니다. 이 질문은 C++에 태그가 지정되어 있습니다. C++에는 템플릿이 있으며이 템플릿을 대체 할 때 중요한 사항입니다. –

+0

'sizeof array'는 포인터의 크기가 아니라 배열의 크기입니다. – fredoverflow

8

아니요. 그러나 필요할 때마다 포인터가 붕괴 될 수 있습니다.

void foo1(char * c) { 
} 


int main() { 
    char Foo[32]; 
    foo1(Foo); // Foo decays to a pointer 
    char * s = Foo; // Foo decays to a pointer which is assigned to s 
}