본문 바로가기
개념/혼자 공부하는 C언어

chapter 9) 주소의 포인터 크기

by kiseno 2024. 7. 25.
728x90
반응형
SMALL
#include <stdio.h>

int main(void){
    char ch;
    int in;
    double db;

    char *pc = &ch;
    int *pi = &in;
    double *pd = &db;

    printf("char address size : %d\n", sizeof(&ch));
    printf("int address size : %d\n", sizeof(&in));
    printf("double address size : %d\n", sizeof(&db));

    printf("char * pointer size : %d\n", sizeof(pc));
    printf("int * pointer size ; %d\n", sizeof(pi));
    printf("double * pointer size : %d\n", sizeof(pd));

    printf("char * pointer point out of parameter size : %d\n", sizeof(*pc));
    printf("int * pointer point out of parameter size : %d\n", sizeof(*pi));
    printf("double * pointer point outof parameter size ;%d\n", sizeof(*pd));

    return 0;
}

 

main() 함수
1-1. char형 변수 ch, int형 변수 in, double형 변수 db 선언
1-2. 각 변수의 주소를 포인터 변수 pc, pi, pd에 저장
1-3. &ch, &in, &db의 크기를 sizeof를 사용하여 출력, 모든 주소의 크기는 시스템에 따라 다르지만 일반적으로 64비트 시스템에서는 8바이트
1-4. 포인터 변수 pc, pi, pd의 크기를 sizeof를 사용하여 출력, 포인터의 크기는 타입과 무관하게 시스템에 따라 일정, 64비트 시스템에서 8바이트
1-5. 포인터가 가리키는 값의 크기를 sizeof를 사용하여 출력, *pc는 char의 크기인 1바이트, *pi는 int의 크기인 4바이트, *pd는 double의 크기인 8바이트

반환문 (return) 작성 -> 프로그램이 성공적으로 실행되었음을 나타내기 위해 0을 반환

728x90
반응형
LIST