C에 문제가 있는 것이 아니라..
어떤 컴파일러든간에.. 그렇게 동작합니다.
변수명이라는 것은.. 사람이 프로그래밍을 편리하게 하기 위함일뿐..
컴파일러측에서 보면..아무런 의미가없습니다.
a=b라는 것은..
b의 어드레스에 있는 내용을 a의 어드레스로 옮기는 겁니다.
당연히 값이 옮겨질수 밖에 없습니다.
a에 변수명을 넣어서 생기는 잇점 무엇인가요?.
야생화 님이 쓰신 글 :
: int a;
: int b;
: a=b //b를 a에 대입한다 라고 한다면 변수a에는 변수b의 값이 들어가네요?
:
: 분명히 우측b변수명을 좌측a변수에 넣겠다라 라고 했는데
: 변수명b가 아니라 변수b의 값을 a에 대입하네요
: 변수명이 변수값이 아니잖아요?
:
: 물론 C자체적으로 문제가 있어서 b라는 이름을 a에 못넣을 수 없다면
: 차라리 처음부터 a=10 이렇게 하면 될 것이지
: 왜 a=b 이렇게 하는지?
:
: 엄연히
: b는 변수명이고
: 변수b에는 값이 따로 있잖아요
: 그리고 변수b의 주소도 있고
: 분명히 변수명은 변수값이 아니잖아요?
:
: 분명히 변수명b를 a변수에 대입한다고 해놓고
: 왜 변수b의 값을 a변수에 대입할까요?
:
: 변수명은 == 무조건 변수값 인가요?
|