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가 가리키는 번지의 값을 읽어옴
}