반응형
보통 visual studio 환경에서 포인터의 크기는 4byte다.
아래의 코드를 확인해보자.
#include <stdio.h>
int main()
{
putchar('\n');
printf("char : %d\n", sizeof(char));
printf("short : %d\n", sizeof(short));
printf("int : %d\n", sizeof(int));
printf("long int : %d\n", sizeof(long long int));
putchar('\n');
printf("char* : %d\n", sizeof(char*));
printf("short* : %d\n", sizeof(short*));
printf("int* : %d\n", sizeof(int*));
printf("long int* : %d\n", sizeof(long long int*));
return 0;
}
그러나 실제 환경에서는 포인터의 크기가 8byte일 수도 있다.
문제는 삼성 SW 환경에서 포인터의 크기가 8byte인 점이다.
링크에서 확인해보자.
비주얼 스튜디오에서 아래의 코드는 문제없이 실행된다.
#include <stdio.h>
int main()
{
char a[100];
printf("adress a: %X\n", a);
int address = (int)&a[0];
printf("adress a: %X\n", address);
return 0;
}
하지만 시험환경에서는 아래와 같은 에러가 발생한다.
코드를 수정하고 다시 실행해보자.
#include <stdio.h>
int main()
{
char a[100];
printf("adress a: %llX\n", a);
long long int address = (long long int)&a[0];
printf("adress a: %llX\n", address);
return 0;
}
시험 환경의 포인터는 8byte라는 것을 잊지 말자.
반응형
'알고리즘 > [EXP] 삼성 SW 역량 테스트 C형' 카테고리의 다른 글
더블 링크드 리스트 구현 (Double Linked List) (0) | 2023.07.30 |
---|---|
BOJ 10757 : 큰 수 A+B with 10^N진법 (0) | 2023.07.29 |
BOJ 15688 : 수 정렬하기 5 with In-Place Sort (0) | 2023.07.29 |
중위 표기식 직접 연산하기 (0) | 2023.07.29 |
괄호가 있는 중위 표기식 연산하기 (0) | 2023.07.29 |
댓글