c언어중 가장 어렵다는 포인터를 배울것이다.
그 전에 변수의 3요소를 알아보자
변수의 이름:프로그래머(나)가 필요로 하는 이름
변수의 주소:컴퓨터가 필요로 하는 이름
변수의 값:변수가 담고 있는 값
포인터란 c / c++에서는 컴퓨터에게 적용되는 변수인 '주소'를 직접적으로 조작할 수 있는 방법.
주소 조작을 '포인터를 이용한다' 라고 한다
주소를 가져오는건 scanf에서 썻던 &<- 가 주소를 가져오는 것이다
포인터 예시
#include "Header.h"
int main() {
int value1 = 100;
int* value2;
value2 = &value1;
*value2 = 200;
printf("%d", value1);
return 0;
}
실행해 보면 value2의 값인 200이 나올것이다
감이 안잡힌다면 외우자
포인터를 사용할때는
포인터 변수 = &변수
포인터변수 = 값
출력은 변수
그냥 외우자. 포인터를 만드는건 ' * ' 을 넣고, 변수에 포인터 주소를 지정할 때에는 ' & ' 를 넣고 출력 할때는 그냥 변수를 넣는다
잘 모르겠음 포인터를 많이 사용하면 된다.
연습
사실 포인터는 이게 끝이다. 연습 문제를 해보자
더보기
사용자로부터 입력을 받아 두 수를 덧셈하는 프로그램을 만들기. 덧셈을 할 때 원본 변수를 만들고 포인터 데이터 타입을 이용해 숫자를 조작하세요
변수 int value 를 만들고
포인터 int* value를 만들고 하라는 뜻이다
#include "Header.h"
int main() {
int value1;
int value2;
int result;
int* p1 = &value1;
int* p2 = &value2;
int* presult = &result;
printf("v1의 값:");
fseek(stdin, 0, SEEK_END);
scanf("%d", &value1);
printf("v2의 값:");
fseek(stdin, 0, SEEK_END);
scanf("%d", &value2);
*presult = *p1 + *p2;
printf("%d", result);
return 0;
}
답
result를 하든 presult를 하든 값은 똗같이 나올 것 이다.
문제
문제를 풀어보도록 하자
더보기
사용자로부터 입력을 받아 두 수의 사칙연산을 하는 프로그램을 만들기. 사친연산을 할 때 원본 변수를 만들고 포인터 데이터 타입을 이용해 숫자를 조작하기
'C언어 공부' 카테고리의 다른 글
C언어 심화 - 포인터 3 - 메모리 동적 할당 / 배열 (0) | 2025.03.13 |
---|---|
C언어 심화 - 포인터 2 (0) | 2025.03.13 |
C언어 기초 번외 편 - 헤더 파일과 소스 파일 (0) | 2025.03.12 |
C언어 심화 - 1 문자의 '배열' (0) | 2025.03.12 |
C언어 기초 - 7 switch / float / char 자료형의 출력 (0) | 2025.03.12 |