조금씩 꾸준히 완성을 향해

[C 언어] 포인터(pointer) 본문

기타 언어/C 언어

[C 언어] 포인터(pointer)

all_sound 2023. 3. 18. 20:02

포인터

- 메모리의 위치를 표현한 기호

 

포인터 변수 선언

int *a; //포인터 변수 a 선언
*a = 10;  //a의 값에 10을 대입

a의 주소 값에 100이 할당되었다고 가정하면 아래와 같이 표현할 수 있다.

printf("%d\n", a); //100
printf("%d\n",*a); //10

이 경우, a와 *a의 값을 출력하면 각각 100, 10이 출력 된다.

 

변수의 주소 찾기

int b=10;
int *a;  //포인터 변수 a 선언
a=&b;  //b의 주소값을 a에 대입

변수 b의 주소값에 101이 할당되었다고 가정하면 아래와 같이 표현할 수 있다.

printf("%d\n", *a); //10
printf("%d\n", a); //101
printf("%d\n", b); //10

이 경우, *a, a, b의 값을 출력하면 각각 10, 101, 10이 출력 된다.

 


<예제>

#include <stdio.h>

int main() {
  int A = 10, B;
  int *C = &B; //포인터 변수 C에 B의 주소값을 대입
  B = A--; //B에 A 값을 대입한 후, A에 -1
  B += 20; 
  printf("%d", *C);  //C의 값을 출력
}
//출력: 30

 

 

 

 

 

※ 유튜브 흥달쌤 깨알 C언어 특강을 직접 정리한 내용입니다

'기타 언어 > C 언어' 카테고리의 다른 글

[C 언어] 배열과 포인터  (0) 2023.03.18
[C 언어] scanf와 변수  (0) 2023.03.18
[C 언어] 배열  (1) 2023.03.17
[C 언어] 다중 반복문, continue, break  (0) 2023.03.17
[C 언어] 반복문 (for문, while문, do while문)  (0) 2023.03.17