포인터(pointer)
📌 포인터 변수는 주소를 저장해주는 변수
📌 포인터 변수 선언 방법 : 저장할 공간의 자료형 *(애스타리스크) 변수명;
📌 포인터 변수 안에 저장된 주소로 접근해서 주소 안의 값을 확인할 때는
📌 *포인터변수 형식으로 확인할 수 있다. 이를 역참조라 부른다.
📌 *(애스타리스크)는 포인터를 따라가라는 뜻 : *ptr (역참조)
📌 선언할 때 사용하는 *는 역참조 시 사용하는 *와 용도가 다름 (int * 자체가 하나의 자료형)
📌포인터 변수는 일반 변수의 주소를 저장할 수 있고,
📌이중 포인터 변수는 포인터 변수의 주소를 저장할 수 있고,
📌삼중 포인터 변수는 이중 포인터의 주소를 저장할 수 있고,
📌사중 포인터 변수는 삼중 포인터의 주소를 저장할 수 있고,
📌...
⭐code
#include <stdio.h>
int main() {
int num = 5;
int* ptr;
int** dptr;
int*** tptr;
ptr = #
dptr = &ptr;
tptr = &dptr;
printf("num의 주소 = %p\n", &num);
printf("ptr의 값 = %p\n", ptr);
printf("\nnum의 값 = %d\n", num);
printf("ptr을 이용한 num의 값 = %d\n", *ptr);
printf("dptr을 이용한 num의 값 = %d\n", **dptr);
printf("tptr을 이용한 num의 값 = %d\n", ***tptr);
printf("\nptr의 주소 = %p\n", &ptr);
printf("dptr의 값 = %p\n", dptr);
printf("\ndptr의 주소 = %p\n", &dptr);
printf("tptr의 값 = %p\n", tptr);
return 0;
}
함수의 정의
📌 반환형 : 함수 내용의 작업을 마치고 값을 반환해줄 때 사용할 자료형
📌 함수 이름 : 함수를 사용하기 위해 호출할 때 사용할 이름
📌 매개 변수 : 함수를 호출할 때 값을 전해줄 수 있는데, 이 때 값을 저장하는 변수
📌 함수 기능 : 함수의 기능을 맡아줄 코드들이 작성되는 영역
int Add(int a, int b)
{
return a + b;
}
📌 int : 반환형, Add : 함수 이름, (int a, int b) : 매개 변수, {} : 함수 기능
함수의 호출
📌 반환값을 저장할 변수 : 함수가 반환해주는 값을 저장할 변수
📌 호출할 함수 이름 : 정의된 함수 중 사용할 함수의 이름
📌 인수 : 함수가 동작할 때 필요한 값
📌 반환값이 있는 함수 호출 원형 : 반환값을 저장할 변수 = 호출할 함수 이름(인수);
📌 반환값이 없는 함수 호출 원형 : 호출할 함수 이름(인수);
'C언어_자료구조 > C언어 기본 개념' 카테고리의 다른 글
[C06] C언어/자료구조_동적 할당(malloc, free) (2) | 2021.09.14 |
---|---|
[C05] C언어/자료구조_구조체(기본, 별칭, 익명 구조체) (0) | 2021.09.07 |
[C04] C언어/자료구조_재귀 (0) | 2021.08.31 |
[C03] C언어/자료구조_변수 (0) | 2021.08.24 |
[C02] C언어/자료구조_반환값에 따른 함수의 여러가지 형태 (0) | 2021.08.17 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!