728x90
300x250
[C언어] C언어 널포인터를 활용한 출력 결과
ptr이 예를 들어 x0000 주소라고 한다면, ptr의 값을 1증가 시킬 때 그 다음 번지는 무엇일까?
int *ptr1 = 0; } |
출력 : 0, 0, 0
4, 1, 8
'포인터 연산에 따른 실질적인 값의 변화는 포인터 타입에 따라 다르다'는 결과를 알 수 있다.
int형 변수는 4바이트이다.
int *타입의 포인터 변수 값을 하나 증가시키면 4가 증가한다.
char형 변수는 1바이트이다.
char *타입의 포인터 변수 값을 하나 증가시키면 1이 증가한다.
즉,
x0001의 주소의 다음을 가르키는 주소는 x0004 이다.
반응형
'소프트웨어(SW) > GNU - C, C++' 카테고리의 다른 글
[C언어] Const를 사용하는 이유 (6) | 2010.04.23 |
---|---|
[C언어] 포인터의 상수화 const (6) | 2010.04.23 |
[C언어] N! 팩토리얼을 이용한 반복문과 재귀함수 (6) | 2009.11.08 |
[C언어] main()함수의 인자 활용(명령행 인자 : argc, argv) (6) | 2009.11.05 |
[C언어] 제어문(if, switch) (9) | 2009.07.23 |