이것이 단순한 오류라면 용서해주십시오. 그러나 나는 지금 C를 배우고 있으며 방금 포인터를 파악하기위한 간단한 프로그램을 만들었습니다. 왜 C 포인터가 작동하지 않는지 이해할 수 없다.
은 내가int x = 4;
int *p;
p = &x;
printf("%d\n\n",*p);
//output is 4 as expected
을 기대하지만 출력을 산출 코드의 간단한 조각을 내가 같은 논리를 따를 경우에도 문자 배열과 동일한 작업을 수행하려고 할 때 ...이
char x[] = "Hello, Stack Overflow!";
char *p[];
p = &x;
printf("%s\n\n",*p);
//this gives me an error when compiling as follows
//
// run.c:15: error: incompatible types when assigning to type ‘char *[1]’ from type ‘char (*)[23]’
사실이 질문은 일반적인 초급 -C 포인터 질문보다 낫습니다. +1. –
스탠드없이 "언더"를 입력하면 너무 빨리 처리하려고합니다. 포인터에는 시간이 필요합니다. –
@HansPassant : 실제로 RAM의 개념을 이해하면 무료 포인터에 대한 이해를 얻을 수 있습니다. C 선언 구문. 이제는 다른 이야기입니다. – bitmask