[완료]C 포인터 공부중입니다만 잘 이해가 안되어서, 잘하시는분 이것 설명 부탁드립니다.
글쓴이: sia79 / 작성시간: 화, 2008/04/08 - 4:12오후
C언어의 포인터에 대해 공부중입니다.
아래와 같은 처리가 생각 같아서는 될 것같았는데, 세그먼트 폴트 에러가 납니다.
char* X = "XXXXX"; char* A = &X; char* B = &A; char**** C = &B; printf("%s\n", ***C ); ***C = "hahaha"; printf("%s\n", X );
잘한다고 생각한 친구도 명쾌하게 설명을 못해서 여기에 글을 올립니다.
단순히 주소를 참조하는 것이라면 분명 XXXXX가 나올 것이라 생각했는데...
포인터의 4바이트 안에는 차원 정보도 넣어두어서 올바르지 않은 차원 이용은 이처럼 에러가 되는 것인지요.?
무지한 제가 알아들을 수 있게 좀 쉽게 설명 부탁드립니다.
Forums:
길이 아닌 곳은 가지 않는다.
포인터를 이해하실려고 너무 멀리(따따블포인터)까지 가지 않으셔도 됩니다. ^^;
> gcc -g src.c
> gdb a.out
> b main
> run
> disp X
> disp A
> disp B
> disp C
> next
> next
> next
> next
...
Hello World.
아래와 같이 바꾸니 잘 실행되네요.
아래와 같이 바꾸니 잘 실행되네요.
블로그 : http://jeongsw.tistory.com
중복 자삭. OTL
중복 자삭.
OTL
****C 부분이 잘못된 것 같습니다.
printf() 함수의 ****C 부분이 잘못된 것 같습니다.
***C로 고치면 잘 실행될 겁니다.
블로그 : http://jeongsw.tistory.com
감사합니다. 제
감사합니다. 제 실수군요;;;;
댓글 달기