25.06.13 개발일지
1. & : Ampersand, 앰퍼센드
-> 주소 연산자
&num : num이라는 변수의 메모리 주소값을 뜻한다.
%p, &num으로 num의 주소값을 불러올 수 있다.
%ld, sizeof num : 메모리의 크기를 불러올 수 있다.
변수의 메모리 주소값을 사용하지 않고 함수를 통해 변수의 값을 바꾸려고 하면 그 주소값을 찾아가서 값을 바꾸는게 아니라 별도의 공간에 값이 저장된다.
2. * : Asterisk, 애스터리스크
-> 참조 연산자
포인터 변수를 선언할 때와 포인터 변수를 역참조하여 데이터에 접근할 때 사용
1) 포인터 변수 선언 시 사용

변수 선언 뒤에는 위에 cNum, iNum과 같이 p_cNum, p_iNum으로 연산자 빼고 변수만 사용한다.
p_cNum, p_iNum으로 변수 선언 시 이 변수들은 cNum, iNum의 메모리 주소값을 가진다.
메모리 주소 값 데이터 크기는 일정하다.
-> 포인터 변수에 담기는 메모리 주소값의 크기는 일정하다.
-> 즉, 포인터 변수를 사용할 때 자료형을 다양하게 쓸 이유가 없으며, 포인터 변수를 선언할 때 사용하는 자료형은 포인터 변수의 크기를 의미하지 않는다.
-> 포인터 변수는 역참조 기능에 사용되는 특성이다.
2) 포인터 변수를 역참조하여 데이터에 접근할 때 사용
포인터 변수 선언 뒤 변수명만 사용하는데 그 변수명 앞에 *를 붙여주면 역참조

: 처음에 변수 앞에 그냥 *가 붙는 경우와 &num 앞에 *(&num)의 형태로 참조연산자를 쓰는 경우를 이해하지 못 했지만 *(애스터리스크, 참조연산자)의 두 가지 기능이 있다는 걸 이해하고 나서 포인터가 전체적으로 이해됐다.
포인터 변수 선언 뒤 변수명만 사용할 때 앞에 *가 붙는 역참조 기능과 포인터 변수를 선언할 때 int *a의 형태로 참조연산자를 사용하는 두 가지 경우를 이해하는 게 중요한 것 같다.
3. 함수
모든 코드는 main()부터 실행
스택구조 : 위에 쌓인 코드가 실행되기 전에는 아래 쌓인 코드가 실행될 수 없다.
매개변수의 종류와 개수로 구분
반환형의 자료형, 변수값의 자료형 같게 해줘야 하고 써줘야 한다.
int sum(int x, int y)
인수와 매개변수
int main(void)
{
result = sum(a,b); -> 인수 a,b
}
int sum(int x, int y); ->매개변수 x,y
{
}
'6월 개발일지' 카테고리의 다른 글
| 25.06.15 개발일지(C언어 배열 과제) (0) | 2025.11.06 |
|---|---|
| 25.06.14 개발일지(C언어 함수 과제) (0) | 2025.11.06 |
| 25.06.12 개발일지(C언어 반복구조 과제) (0) | 2025.11.06 |
| 25.06.11 개발일지(C언어 선택구조 과제) (0) | 2025.11.06 |
| 25.06.10 개발일지(C언어 순차구조 과제, C언어 책 요약(chapter2~chapter5)) (0) | 2025.11.06 |