컴퓨터 언어/C

variable 변수

icanhear 2010. 10. 2. 13:35


a = 1

이라고 했을때 프로그래밍에서 ' =  ' (equal)의 뜻은 좀 다르다
수학에서 말하는 같다는  보통  ==  로 표현 한다.

그럼 여기 = 기호의 뜻은?

1 이란 데이터를 a 라는 이름을 가진 곳에 저장 하겠다는 말이다
즉 저장하라는 말이지 같다는 말이 아니다

무엇을 저장 한다는 말이 나오면 메모리 라는 말이 자연 스럽게 따라온다
register, RAM, USB 메모리, 플래시 메모리, 등등 들어봤음직한 말들이 한개쯤은 있다

그럼 이 a 라는 것은 무엇인가?

a 에 저장한다고 했으니
메모리 공간상에 어디쯤에 a 라는 곳이 있겠다는 짐작은 한다
짓는 이름 마다 어디쯤에 저장될것인데
그것이 어디 인지는 a 라는 이름만으로 알수가 없다

설명하는 순서가 약간 바뀌긴 했는데 
메모리 상에는 데이터가  들어갈 방이 여러개 있다
그 방마다 호수 즉 주소(adress)가 있을 것이다    

숫자만으로 나열된 이 주소를 저장할 장소의 이름으로 쓴다면
몇분 만에 두손 두발 다 들게 될 것이다  

그래서 필요한 것이 일상에서 쓰는 말로 연결 하는 것이다

name = " 구미호 "
age =  900

name, age 라는 번지에 각각 구미호와 900 이라는 데이터를 저장 하겠다는 뜻이다.

아마 name, age 가 아닌  
숫자의 나열만 있다면 머리아픈 수준이 아닌 끔찍한 일이다

16857 = " 구미호 "  
여기에서는 숫자를 짧게 썻지만 이런식으로는 안나오고
실제는 이것보다 훨씬 더 복잡하다

기술의 발전은 더이상 한글 변수를 쓰는데 문제가 없을건데... 
왜 아직도 이런 방법으로 설명해야 하는건지..   내가 안바뀐 것인가? 
글은 쉬워야 한다 글의 목적은 소통이다 이것외에 더 무엇이 필요한가?
왜 영어권에서 자라지 않은 사람을 교육을 시켜 짧게는 몇년 부터
길게는  평~생 영어 단어 외우고, 문장을 외우게 만드는건지...


실생활에서 찾아 볼수 있는 변수와 주소 관계의  예라면 ...  ( 변수 중복 생각 안함^^ )

변수(variable)

주소(adress)

도메인 이름( domain.com )

IP주소
( 105.205...)

구미호

집주소

구미호 

핸드폰번호