Programing/C

배열, 구조체, 포인터

프훕 2014. 10. 17. 23:12

배열(array) - 동일한 타입의 데이터의 집합.

ex) int array[10]; // 정수형 변수 10개의 데이터를 가지는 배열 array 선언

이런식으로 10개의 메모리 공간을 확보하게 되는데 

참조 인덱스 번호는 0번지 부터 라는것에 유의   

 array[0]

...중략 

[9] 



구조체(struct) - 서로 다른 타입의 데이터의 집합.

ex) struct{

char name[8];

int age, score;

} student;

name 

age 

score 

   10byte                  4                   4

ex)

student.age=17;

printf("이름 : %s", student.name);

위의 예를 보면 구조체를 참조할 때는 .(점)을 사용하는것을 알수 있다.



포인터(pointer)  - 변수의 메모리 공간 주소를 가리키는 변수.

  포인터는 특정 메모리 주소값을 저장, 그 주소에 할당된 값을 읽어 온다.

cf) *p : p가 가리키는 번지의 값을 읽어라.

&p : p에 기억되어 있는 메모리 주소값을 읽어라.


ex) void main(){

int num = 123; // num을 123으로 초기화

int *pn;          //포인터 pn 선언


pn = #    //num의 주소를 pn에 대입

print("num의 값 : %d\n",*pi);   //포인터 pi가 가리키는 번지의 값을 읽어옴

}