inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Học lập trình C cùng Hong Jeong-mo

9.17 Kích thước của biến con trỏ

[9.17 00:47] 포인터 자료형이라는 것이 별도로 존재합니까?

223

devDev

14 câu hỏi đã được viết

0

[9.17 00:47]

포인터 자료형이라는 것이 별도로 존재합니까?

(몇 강인지는 구체적으로 기억나지 않습니다만 교수님께서 앞에서 포인터 자료형 같은 것은 별도로 존재하지 않는다고 말씀한 걸로 기억하고 있습니다.)

코드 예제를 보면 char*, float*와 같은 것들을 sizeof()의 인자로 사용하고 있습니다.

변수 선언 시, char* ptr_a = &a; 에서 *ptr_a의 자료형이 char라는 것을 규명하기 위해 char를 사용하는 것으로 이해하고 있습니다.

c

Câu trả lời 2

0

devDev

교수님. 답변 감사합니다.

그럼 char*, int* 같은 것들을 지칭하는 명확한 개념은 존재하지 않습니까?

" char* 자료형이 있는 것 처럼 생각할 수 도 있습니다" 라는 말씀은 "포인터 자료형은 존재하지 않는다"는 말씀으로 이해해도 괜찮죠?

typedef를 이용해 재정의 해주지 않았음에도 불구하고 sizeof(char*)가 잘 작동하는데 그럼 sizeof(char*)에서 char* 는 무엇으로 간주해야 합니까?

(현재 배운 것만으로는 이해가 힘든 부분일까요? 그렇다면 일단 넘어가고 뒤에 가서 공부를 더한 뒤 그때도 모르면 다시 질문 드리겠습니다.)

0

hodu

안녕하세요?

이해하신 게 맞고요.

이해에 도움이 된다는 측면에서 char* 자료형이 있는 것 처럼 생각할 수 도 있습니다.

규명이라고 말씀하신게 해당 포인터 변수를 dereferencing 했을 때 메모리에서 얼마만큼 봐야하는 지를 언급하신 거라면 맞습니다.

이런 의문은 작은 예제를 하나 만들어서 직접 체크해보면 이해에 도움이 되는데요.

저는 아래와 같이 해봤습니다.

<코드>

#include <stdio.h>

int main()
{
    char a = 'A';
    char* pa = &a;

    printf("*pa : %c\n", *pa);

    printf("sizeof(char*) : %zd\n"sizeof(char*));
    printf("sizeof(int*) : %zd\n"sizeof(int*));

    typedef char* ptr_char;

    ptr_char pa2 = &a;

    printf("*pa2 : %c\n", *pa2);


    return 0;
}

<결과>

뒤에 가시면 typedef를 배우게 되는데요.

typedef를 이용해서 

마치 char* 자료형이 있는 것 처럼 이름을 재정의 해줄 수 있거든요.

그 강의를 보시면 이해에 도움이 될 수도 있을 겁니다.

감사합니다.

Export template 안됨

1

30

2

완전히 똑같이 따라해도 exe파일이 안만들어져서 실행이 안됩니다.

1

57

3

main 함수에서 왜 int만 선언이 되는걸까요

1

57

2

8비트 2진수 변환시 왜 1을 더해야하나요?

1

55

2

혹시 강의를 빠르게 수강하려면 어디서부터 듣는게 좋을까요?

1

49

1

프로토타입과 함수간의 인자 불일치

1

73

2

12.12 헤더 관련 질문

1

60

2

Visual Studio Community 2026 사용 문의

1

138

2

Q. 15:30, 부호가 있는 8비트 정수 질문

1

61

2

getchar(), putchar()

1

94

3

강의자리ㅛ

1

80

2

비주얼스튜디오코드로 공부해도 상관없나요?

1

114

2

소스파일안에 여러 파일

1

76

2

F5와 F7의 차이

1

79

2

c = TWO * (a+b); 에서 a와 b는?

1

60

2

; 세미콜론을 붙이는 기준에 문의

1

70

1

Step over 기능 문의

1

53

2

2.6 강의 따옴표 출력 규칙 문의

1

76

2

int main 함수 관련 오류 문의

1

67

2

13.4 words[0]

0

61

2

11.7 함수를 구현해 봤습니다.

1

62

2

11.6 직접 strcmp와 strncmp를 구현해 보았습니다.

1

65

2

11.6 my_strcat과 my_strncat을 구현해봤습니다.

1

53

2

11.6 fit_str함수를 구현해 봤습니다.

1

54

2