@혼자공부하는 C언어 |
혼자공부하는 C언어 6주차 후기 및 미션 완료
@혼자공부하는 C언어 |
총 6주간의 혼자공부하는 스터디 C언어 학습이 끝났는데요, 교재는 총 19장 까지 구성되어 있고, 이번주까지 학습한 부분은 절반인 9장까지 기본편입니다. 이제 스터디는 끝났고 혼자서 독학으로 남은 절반인 고급편을 시작해 봐야 할거 같습니다.
다들 마지막까지 꼭 완주하시길 응원합니다.
- 챕터9 포인터
이번 장에서는 포인트에 대해서 학습을 했는데요, 포인터는 메모리 주소를 지정하는 변수 입니다. 포인터를 사용하면 프로그램에서 메모리를 효율적으로 관리하고, 데이터 구조와 알고리즘을 만들수 있습니다. 포인터는 일반 변수와 비슷하게 작동하지만, 변수의 값 대신 메모리 주소를 지정합니다.
- 기본 미션 : 포인터의 핵심 내용을 정리하고 공유하기
포인터(Pointer)는 프로그래밍에서 메모리 주소를 저장하고 참조하는 변수입니다. 포인터의 핵심 내용은 다음과 같이 정리할 수 있습니다.
1. 메모리 주소 저장: 포인터는 변수, 배열, 함수 등의 메모리 주소를 저장합니다. 이를 통해 다양한 데이터 구조 및 알고리즘에 활용되며, 특히 동적 메모리 할당에서 중요한 역할을 합니다.
2. 참조 및 역참조: 포인터를 사용해 저장된 메모리 주소에 접근하여 값을 읽거나 변경할 수 있습니다. 포인터를 통해 접근하는 것을 참조(Reference), 포인터가 가리키는 주소의 값을 사용하는 것을 역참조(Dereference)라고 합니다.
3. 포인터 연산: 포인터는 일정한 증가 또는 감소 값을 통해 메모리 주소를 변경할 수 있습니다. 이를 통해 배열이나 연결 리스트 등의 데이터 구조를 효율적으로 다룰 수 있습니다.
4. 포인터의 타입: 포인터는 가리키는 값의 타입에 따라 특정한 포인터 타입을 가집니다. 정수형 포인터, 실수형 포인터, 문자열 포인터 등의 타입이 있으며, 타입 별로 메모리의 크기와 표현 범위가 다르기 때문에 포인터 타입을 올바르게 사용하는 것이 중요합니다.
5. 함수 포인터: 함수의 메모리 주소를 저장할 수 있는 함수 포인터를 사용하면, 함수를 인수로 전달하거나 반환값으로 사용할 수 있습니다. 이를 통해 콜백 함수, 런타임 시 실행할 함수를 선택하는 등의 유연한 프로그래밍이 가능합니다.
포인터는 메모리 접근 및 제어에 있어서 중요한 역할을 하지만, 주의하지 않으면 메모리 누수나 데이터 손상 등의 위험이 있습니다. 따라서 포인터를 사용할 때는 주의 깊게 사고와 구현력이 필요합니다.
- 선택 미션 : Ch.09 도전 실전 예제(p. 289) 풀고 인증하기
#define _CRT_SECURE_NO_WARNINGS
#include
void swap(double* pa, double* pb);
void line_up(double* maxp, double* midp, double* minp);
int main(void)
{
double max, mid, min;
printf("실수값 3개 입력 : ");
scanf("%lf%lf%lf", &max, &mid, &min);
line_up(&max, &mid, &min);
printf("정렬된 값 출력 : %.1lf, %.1lf, %.1lf\n", max, mid, min);
return 0;
}
void swap(double* pa, double* pb)
{
double temp;
temp = *pa;
*pa = *pb;
*pb = temp;
}
void line_up(double* maxp, double* midp, double* minp)
{
if (*maxp < *midp) swap(maxp, midp);
if (*maxp < *minp) swap(maxp, minp);
if (*midp < *minp) swap(midp, minp);
}
@혼자공부하는 C언어 |
#혼공학습단 #혼공단 #혼공C #C언어 #코딩 #프로그래밍
0 댓글