-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
5:18 질문있습니다
20.08.31 21:29 작성 조회수 214
0
1 #include <stdio.h></stdio.h>
2
3 int main()
4 {
5
6 char* ptr = 0;
7
8 printf("%zd %zd %zd\n", sizeof(char*), sizeof(double*) , sizeof(long long*));
9
10 printf("%p %lld\n",ptr ,(long long)ptr);
11
12 ptr += 1;
13
14 printf("%p %lld\n",ptr ,(long long)ptr);
15
16
17
18 }
이때 포인터 변수의 크기는 주소의 크기이므로 4바이트(x86)로 고정되어서 항상 4씩 증가하는 것 아닌가요? 제가 잘못 이해하고 있는 부분이 어딘지 몰라서 이렇게 질문드립니다.
(8번째 줄 코드는 제가 추가한 것입니다)
답변을 작성해보세요.
2
상욱
2020.09.01
포인터의 크기는 고정인데
char* ptr=0; 과 double* ptr=0 이 값이 다르게 나오고
void* ptr=0;이 오류가 나오는 이유를 생각해 보세요
1
1
0
답변 4