inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

홍정모의 따라하며 배우는 C언어

5.2 대입 연산자와 몇 가지 용어들

객체에 대하여 질문 드립니다.

317

m1n_q

작성한 질문수 24

0

강의 내용 중, 메모리 공간과 주소, 객체지향에 대한 언급이 나와 질문 드립니다.

다른 언어에 대한 이야기이긴 하지만,

제가 파이썬부터 공부하여 이로 예시를 들자면

a=1
print(id(a))
a+=1
print(id(a))  


파이썬에서는 위 결과 a의 주소값이 다르게 나오고,

c 에서는 

int a = 1;
printf("%d", &a);
a += 1;
printf("%d", &a);

위 a의 주소값이 같게 나오는데,

파이썬은 int 1 객체, int 2 객체가 각자 다른 객체로 다른 주소 가지고

변수명은 그걸 가르키는 라벨,

c 는 변수명이 메모리 주소를 직접 가르키는 형태.

라고 이해한 것이 맞는지 여쭙고 싶습니다.

위의 차이가 맞다면, 그게 객체지향과 객체지향이 아님의 차이인건가요?

파이썬으로 먼저 변수의 개념을 접하여 C에서의 변수의 개념에 혼동이 있는 듯 합니다ㅠㅠ 

c

답변 2

0

m1n_q

답변 감사드립니다 ㅎㅎ!!

0

안소

안녕하세요.

파이썬에 대해선 제가 잘 몰라서 도움 드리기가 힘들 것 같네요..ㅠㅜ

이런 자료들을 찾아보시고 읽어보시면 이해가 되시지 않을까 싶습니다. 

"c 는 변수명이 메모리 주소를 직접 가르키는 형태."라고 말할 수 있는지는 잘 모르겠지만 일단 C/C++ 언어에서는 변수명이 메모리를 대표하는 느낌인 것은 맞습니다! C에선 같은 범위 내에서 a라는 변수를 사용한다면 동일한 그 a 메모리를 언급하고 있는게 맞습니다.

객체지향 O/X의 차이라기엔 객체지향 언어인 C++도 C와 이 부분은 같기 때문에 아닌 것 같구요! C계열 언어와 Python 언어의 차이라고 보여집니다.

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

1

51

3

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

1

54

2

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

1

54

2

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

1

48

1

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

1

72

2

12.12 헤더 관련 질문

1

59

2

Visual Studio Community 2026 사용 문의

1

136

2

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

1

59

2

getchar(), putchar()

1

92

3

강의자리ㅛ

1

78

2

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

1

112

2

소스파일안에 여러 파일

1

75

2

F5와 F7의 차이

1

75

2

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

1

58

2

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

1

68

1

Step over 기능 문의

1

53

2

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

1

74

2

int main 함수 관련 오류 문의

1

67

2

13.4 words[0]

0

60

2

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

1

62

2

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

1

64

2

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

1

53

2

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

1

53

2

11.5 코드 구현

1

67

2