Study/C

C 언어 기초 (4) 함수와 포인터 (完)

하임 2025. 12. 3. 20:27

 Part 0. 복습

stdio.h - 입출력 하기 위해 불러오는 라이브러리 (Standard Input/Output Library).

int - 반환(주는 자료형), int(정수)에 해당하는 값을 돌려받아야 함.

void - 반환 받을 게 없는 자료형.

main - 함수 이름(메모리 주소)

( ) - 매개 변수(받는 변수), 함수 내에서 사용할 값/주소를 받아옴.

{ } - 범위, 여기선 함수의 범위

return - 1. 함수 끝, 2. 돌려준다(반환)

 

 

 Part 0-1. 변수

변수 - 값을 저장하는 메모리.

변수이름 - 값을 불러옴.

반드시 의도에 맞게 지정해야 함. (PlayerHp, Player_hp 각각 CamelCase (각 단어 첫 글자를 대문자), snake_case (각 단어 사이에 언더바))

대입 연산자 - 오른쪽에 있는 걸 왼쪽으로 저장 (대입).

세미콜론 - 그 줄의 코드 마침.

주소 - 값이 저장되어 있는 변수의 위치, &(앰퍼샌드(Ampersand))를 변수 이름 앞에 붙임.

 

 

 Part 0-2. 배열

4byte인 int형 배열이기 때문에 주소가 4byte씩 차이나는 모습

배열 - 같은 타입의 값을 여러 개 담는 집합. (문자열 표현에 배열을 주로 사용)

배열이름 - 0번째 인덱스의 주소를 의미함.

배열이름[인덱스] = 값;은 가능하지만 배열이름 = 값;이 안되는 이유는 배열이름이 주소이기 때문.

- 배열의 크기.

 

 

 Part 1. 함수

* 함수의 동작 순서

1. sum 함수가 호출되면서 인자 a의 값을 복사(Call by Value)하여 함수의 매개변수로 전달.

2. a += 10을 계산 및 대입. (연산자 우선순위에 의해서 a = a+10과 동일하게 계산)

3~4. 이후 a 값을 반환 타입에 맞게 반환.

5~6. 반환된 값을 a에 대입.

 

 

 Part 2. 포인터

포인터 - 메모리의 주소값을 저장하는 변수 (*p)

주소 - 변수가 저장된 메모리의 위치 (&a)

 

a가 10이고 주소가 100인 int형 변수와 이를 가리키는 포인터 p

: 값 - 10, &a : 주소 - 100

 

주소값 저장 - 자료형 + *변수 이름 (int *p = &a;)

 

: 저장된 주소 - 100, &p : 본인 주소 - 200, *p : 저장된 주소의 값 - 10

(p = 20은 주소가 저장된 변수에 값을 넣는 행위이기 때문에 불가능,

*p로 저장된 주소를 가리켜서 값을 대입하는 건 가능)

 

'Study > C' 카테고리의 다른 글

C 언어 기초 (3) 반복문  (0) 2025.12.02
C 언어 기초 (2) 조건문  (0) 2025.12.01
C 언어 기초 (1) 입출력과 변수  (0) 2025.11.28