728x90
반응형
안녕하세요. 스마트 팩토리입니다.
c 언어[020] 포인터 변수(메모리 주소를 가리키는 변수)에 대해 알아보겠습니다
1. 포인터 변수
가.포인터 변수
- 프로그래밍 언어에서 변수 혹은 그 변수 메모리 공간 주소를 가리키는 변수
- 포인터 변수 값은 메모리 공간 주소값을 가지고 있다.
- *아스테리크를 표시하여 포인터 변수를 나타낸다.
- 메모리의 주소값을 가지는 변수
나. 포인터 변수 선언
- 자료형* 포인터 변수이름;
- int * a;
(가) 포인터 변수 예시
int num= 10;
int* ptr;
ptr = #
포인터 변수 ptr 은 *ptr로 나타냅니다.
ptr은 변수 로 주소값으로 지정해야 합니다. 그래서 ptr=&num 이는 &num은 int 변수 num의 주소값을 의미합니다. 즉 번지수를 의미합니다.
printf("%d", ptr) ;
ptr의 주소값을 10진수로 출력합니다.
printf("%x" ,ptr);
ptr의 주소값을 16진수로 출력
printf("%p" ,ptr);
ptr의 주소값을 16진수로 출력
printf("%d",*ptr)
포인터 변수 값 즉 주소값(변지수)이 가리키는 실제값을 출력함.( -->10출력)
#include<stdio.h>
int main() {
int num= 10;
int* ptr;
ptr = #
printf(" num 값은 %d\n", num);
printf(" num 값은 %p\n", num);
printf("num 주소값 %d\n", &num);
printf("num 주소값 %p\n", &num);
printf("num 주소값 %x\n", &num);
printf("ptr 값 %d \n", ptr);
printf("prt 주소값이 가리키는 실제 값 %d\n", *ptr);
}
(나) 포인터 변수로 실제값을 변경하는 경우
*ptr = 100;
포인터 변수의 주소값이 가리키는 실제값을 변경하면 일반변수 num 값이 변경됩니다. (주소값을 num의 번지수로 지정했기 때문에)
#include<stdio.h>
int main() {
int num= 10;
int* ptr;
ptr = #
printf(" num 값은 %d\n", num);
printf(" num 값은 %p\n", num);
printf("num 주소값 %d\n", &num);
printf("num 주소값 %p\n", &num);
printf("num 주소값 %x\n", &num);
printf("ptr 값 %d \n", ptr);
printf("prt 주소값이 가리키는 실제 값 %d\n", *ptr);
*ptr = 100;
printf("prt 주소값이 가리키는 실제 값 %d\n", *ptr);
printf(" num 값은 %d\n", num);
}
(다) 일반변수 값을 변경하면 포인터 변수가 가리키는 실제값도 변경
num = 200; 일반변수 값을 변경하면
그것을 번지수로 하고 있는 포인터 변수의 실제값도 변경됩니다.
#include<stdio.h>
int main() {
int num= 10;
int* ptr;
ptr = #
printf(" num 값은 %d\n", num);
printf(" num 값은 %p\n", num);
printf("num 주소값 %d\n", &num);
printf("num 주소값 %p\n", &num);
printf("num 주소값 %x\n", &num);
printf("ptr 값 %d \n", ptr);
printf("prt 주소값이 가리키는 실제 값 %d\n", *ptr);
*ptr = 100;
printf("prt 주소값이 가리키는 실제 값 %d\n", *ptr);
printf(" num 값은 %d\n", num);
num = 200;
printf("prt 주소값이 가리키는 실제 값 %d\n", *ptr);
printf(" num 값은 %d\n", num);
}
728x90
반응형
'C 언어' 카테고리의 다른 글
c 언어[022] 배열 숫자 입력하고 배열값 순차출력, 거꾸로 출력 (0) | 2021.10.01 |
---|---|
c 언어[021] 배열 숫자 입력하고 그 입력한 값을 거꾸로 출력하는 코드- 배열의 크기=배열 요소의 개수 (0) | 2021.09.30 |
c 언어[019] 배열 Array , 인덱스, 배열 주소값 , 배열크기, sizeof(arr) (0) | 2021.09.21 |
c 언어[018] 비트연산자(1) <<,>>쉬프트연산자, &(and), |(or) (1) | 2021.02.24 |
c 언어[017] 사용자 정의 함수 (7) | 2020.10.13 |
댓글