C언어의 꽃 포인터 💮
이번 주는 포인터에 대해서 알아보고 문제도 풀어보았습니다.
✅ 포인터 POINTER
메모리의 주소값을 저장하는 변수로, 일반 변수와 마찬가지로 선언 후에 사용
선언하는 방식:int *pi;
double *pdb;
char *pch;
임베디드 프로그래밍을 할 때 메모리에 직접 접근하는 경우나 동적 할당한 메모리를 사용하는 경우 반드시 필요

🚩 연산자
구분 | 사용 예 | 기능 |
---|---|---|
주소 연산자 & | int a; &a; | 변수 앞에 붙여 사용하며, 변수가 할당된 메모리의 시작 주소 값을 구한다. |
포인터 * | char *pc; int *pi; double *pd; | 시작 주소 값을 저장하는 변수며, 가리키는 자료형을 표시해 선언한다. |
간접 참조 연산자 * | *pi = 10; | 포인터에 사용하며, 포인터가 가리키는 변수를 사용한다. |
💡 주소 연산자 &와 scanf 함수의 &는 다르므로 혼동 주의
💡 컴파일러마다 포인터 선언 방식이 다르다고 해서 Visual Studio를 사용해서 선언을 해보았는데,
책에 나와있는 것과 달리 *
의 위치가 타입 바로 옆에 붙어있었습니다.
|
|
알고 보니, 컴파일러마다 선언 방식이 다른 것이 아니라
C언어 문법은 공백에 대해 유연하게 설계되어 있어서 세 가지 표기법을 모두 같은 의미로 해석한다고 합니다. By Gemini
✅ 도전 실전 예제 - 미니 정렬 프로그램
키보드로 실수 3개를 입력한 후, 큰 숫자부터 작은 숫자로 정렬한 뒤 출력하는 프로그램을 작성합니다.
다음 코드와 출력 결과를 참고해 line_up 함수를 작성하세요.
line_up 함수에는 이미 정의된 swap 함수를 호출해 구현하세요.

|
|
✅ 혼공학습단 회고
C언어를 알고 있다고 하면 약간 전공자처럼 보이고 멋지다는 생각을 오래전부터 해왔던 저는…
항상 C언어에 대한 배움의 욕구가 있었는데 이번에 사심을 가득 채울 수 있어서 좋았습니다.
방학 전까지는 따로 하는 일이 없어서 아주 열심히 블로그 작성했는데 날이 갈수록 점점 분량이 줄어들기 시작하더니
지각으로 마무리를 하네요… 할 말이 없습니다
그래도 끝낼 수 있어서 다행이고 기다려주신 족장님 감사합니다 🙇♀️
혼공C 하시는 분들이 많이 없어서 조금 쓸쓸했지만 혼자서 꿋꿋이 하고 계시는 분도 있길래 대단하다고 생각했습니다..
반면에 혼공머신은 너무 많아서 책도 있겠다 나도 해야하나…? 라는 생각이 조금 들었습니다 흐흐
C언어를 한 번 배우고 나니 이제 어떤 언어가 와도 습득할 수 있겠다 라는 자신감이 뿜뿜하는 그런 활동이었네요

이번에 배운 내용으로 끝이 아니라 이 지식을 가지고 정보처리기사도 합격하고
이 기세로 C++까지 학습할 수 있는 제가 되었으면 좋겠습니다…. (제발) (화이팅)
다음에도 또 배우고 싶은 내용이 생기면 돌아오도록 하겠습니다 👍