[C] 포인터 - 2 포인터 변수가 가리키는 자료형의 의미 포인터 변수가 가리키는 자료형은 포인터 변수가 가리키는 메모리 공간의 해석과 연관된다. 포인터 값 자체는 정수값이지만 가리키는 자료형에 대한 정보를 가지고 있으므로 정수형 변수가 저장할 수 없다. 포인터 변수에 주소값을 대입할때는 형변환을 해주지 않아도 컴파일은 되지만, 컴파일러는 잠재적 위험으로 인식하고 있다. 형변환을 해줘서 잠재적 위험을 없애주자. 포인터 변수를 호출할때 *는 그 주소로 따라가라는 뜻으로 사용된다. int iNum = 100; int *p = &iNum; 을 선언해주면 Type Name Address int iNum 2000(임의로) int* p 1000(임의로) 심볼테이블이 생성된다. int는 4바이트, 포인터는 4바이트를 차지한다. 두 변수는.. 개발자과정준비/C 4년 전
[C] 포인터 - 1 포인터 변수의 값과 주소 변수를 선언하는 것은 메모리에 기억공간을 할당하는 것이며, 할당된 이후에는 변수명으로 그 기억공간을 사용한다. 변수가 선언되면 컴파일러는 심볼테이블(symbol table)이라는 변수의 목록을 만든다. 심볼테이블에는 변수이름과 자료형과 이 변수가 할당받은 메모리의 주소가 기록된다. 변수가 할당받은 공간에 변수의 값이 들어간다. 변수의 선언시에는 미지정값이 들어 있다. 변수 x와 y앞에 붙은 &는 주소 연산자이다. &x는 변수가 할당받은 메모리의 주소를 말한다. 메모리에는 바이트(byte)단위로 그 위치를 식별할 수 있는 물리적인 주소값이 있으며, 형식 지정자 %p는 주소를 16진수로 출력할 때 사용된다. 여기서 변수의 주소값 0x2003이나 0x2007은 정해진 값이 아니라 프로.. 개발자과정준비/C 4년 전