예를 들어서 int a = 1, b = 10; 이라고 하고
a=b 를 했다고 하면요.
그 내부에서... a라는 변수에 10이라는 값이 대입되는게 아니라
a라는 이름표가 b라는 이름표로 바뀌는걸까요?
그러니까
a라는 이름표가 b로 바뀌니까
a를 출력하고자 하면 10이 나오는건 똑같아도
a라는 주머니에 10이 들어간게아니라
a와 b 모두 10이라는 값의 이정표역할을 하는건가요?
다시 말하면
a → 1
b → 10 이렇게 돼있었는데
a=b를 하면
a → b → 10
b → 10
이렇게 되는게 아니라
a ↘ 1
b → 10
이렇게 되는건가요?
헷갈려 죽겟네요 증말... 전 처음에 맨처음 개념으로 이해했는데
그 어렵다던 포인터군요? - dc App
ㄴ포인터는 아니구.. C#하는데 클래스랑 오브젝트에대해 설명할때 나오는거였어요
ㄴ그렇군요 아는척해서 미안합니다 - dc App
ㄴ 그래도 무플방지해주셔서 고맙습니다
내부적인 케이스 바이 케이스인데 보통 문자열같이 큰 문자를 다룰땐 저런 방식을 씀 일단 보여준 예에서는 아님 비효율적이라 효율과 비효율을 고려해서 컴파일러 엔지니어가 고려할문제
ㄴ 케이스바이케이스라니.............ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
변수가 무엇인가요? 메모리상에 값을 저장하는 공간이죠? 그럼 저거는 a라는 공간에 10이라는 값이 저장됩니다 - dc App
미안 이건 언어마다 달라
전문언어로 Call by value, Call by reference. 위에게 value, 밑에게 reference.