본문 바로가기
2학년 2학기/c언어

9-4장 배열과 포인터

by kkkkk1023 2024. 10. 28.

배열의 이름이 바로 포인터이다. 즉, 배열은 따로 주소가 없이 배열 이름자체가 주소이다. 

 

 

#include<stdio.h>

int main(){
    
    int a[] = {10, 20, 30, 40, 50};

    printf("배열의 이름 = %u\n", a); // 배열의 이름 = 1868132144
    printf("첫 번째 원소의 주소 = %u\n", &a[0]); // 첫 번째 원소의 주소 = 1868132144

}

 

 

 

따라서, 포인터도 배열처럼 사용할 수 있다.

 

#include<stdio.h>

int main(){
    
    int a[] = {10, 20, 30, 40, 50};
    int *p;

    p=a;

    printf("a의 첫 번째 원소 = %u\n", a[0]); // 10
    printf("p의 첫 번째 원소 = %u\n", p[0]); // 10


}

 

 

 

 

중간 점검

 

1. 배열 a[]에서 *a의 의미는? a[0]

 

1-2. 배열 a[]에서 *(a + 1)의 의미는? a[1]

 

1-3. 배열 a[]에서 *a + 1의 의미는? a[0] + 1 = 11

 

2. 배열의 이름에 다른 변수의 주소를 대입할 수 있는가? X

 

3. 포인터를 이용하여 배열의 원소들을 참조할 수 있는가? O

 

4. 포인터를 배열의 이름처럼 사용할 수 있는가? O

'2학년 2학기 > c언어' 카테고리의 다른 글

9-6장 함수 포인터  (0) 2024.10.29
9-5장 함수가 포인터를 반환하는 경우  (0) 2024.10.29
9-3장 포인터와 함수  (0) 2024.10.28
9-2장 포인터의 연산  (0) 2024.10.28
9-1장 포인터란?  (0) 2024.10.28