C언어 기초 Chapter 16: 포인터의 포인터 (이중 포인터 이해와 활용)16-1. 포인터의 포인터에 대한 이해기본 개념포인터도 변수이므로, 그 포인터의 주소를 저장하는 또 다른 포인터를 만들 수 있음이를 이중 포인터(double pointer) 라고 함선언 방식:int **pp;예제#include int main(void) { int a = 10; int *p = &a; // int형 변수 a를 가리킴 int **pp = &p; // 포인터 p의 주소를 가리킴 printf("a = %d\n", a); printf("*p = %d\n", *p); printf("**pp = %d\n", **pp); return 0;}👉 출력:a = 10*p = 10**..
C언어 기초 Chapter 14: 포인터와 함수 (배열 전달, Call by Value & Reference, const)14-1. 함수의 인자로 배열 전달하기배열 전달 기본함수에 배열을 넘기면, 사실은 배열의 첫 번째 원소 주소가 전달됨따라서 배열 크기 정보는 따로 넘겨줘야 함#include void printArray(int arr[], int size) { for (int i = 0; i 👉 출력: 1 2 3 4 5배열 원소 수정하기#include void addOne(int arr[], int size) { for (int i = 0; i 👉 함수 안에서 배열 값이 실제로 변경됨 (주소 전달 방식이기 때문)14-2. Call by Value vs. Call by ReferenceCa..
C언어 기초 Chapter 13: 포인터와 배열 함께 이해하기13-1. 포인터와 배열의 관계배열과 포인터배열 이름은 사실상 첫 번째 원소의 주소arr 와 &arr[0] 는 같은 의미예제:#include int main(void) { int arr[3] = {10, 20, 30}; int *p = arr; // arr == &arr[0] printf("%d %d\n", arr[0], *p); // 10 10 printf("%d %d\n", arr[1], *(p+1)); // 20 20 printf("%d %d\n", arr[2], *(p+2)); // 30 30 return 0;}👉 배열과 포인터는 밀접하게 연결되어 있음13-2. 포인터 연산포인터에 정수를..
C언어 기초 Chapter 11~12: 배열과 포인터 완전 정리Chapter 11. 1차원 배열11-1. 배열의 선언과 초기화 방법배열이란?같은 자료형 변수를 여러 개 모아 하나의 이름으로 관리하는 것인덱스(index)를 이용해 각 요소 접근선언int arr[5]; // 정수 5개 저장double scores[10]; // 실수 10개 저장초기화int arr1[5] = {1, 2, 3, 4, 5};int arr2[] = {10, 20, 30}; // 크기 생략 가능char str[] = {'H', 'i', '\0'}; // 문자열 배열11-2. 배열을 이용한 문제와 변수의 표현배열 접근#include int main(void) { int arr[5] = {10, 20, 30, 40, 50}..
C언어 기초 Chapter 09: 함수의 정의, 호출, 변수의 범위와 수명09-1. 함수를 정의하고 선언하기함수란?특정 기능을 수행하는 코드 묶음재사용 가능, 코드 가독성 향상, 유지보수 편리기본 구조반환형 함수이름(매개변수목록) { 실행문; return 값;}예제:#include int add(int a, int b) { // 함수 정의 return a + b;}int main(void) { int result = add(3, 5); // 함수 호출 printf("3 + 5 = %d\n", result); return 0;}함수 선언(프로토타입)함수 정의보다 먼저 호출하려면 선언 필요int add(int a, int b); // 함수 선언(프로토타입)int mai..
C언어 기초 Chapter 08: 조건문과 흐름 제어 (if / switch / break & continue / goto)08-1. 조건식 실행과 흐름의 분기 (if문)기본 구조if (조건식) { 실행문;}예제:#include int main(void) { int age = 20; if (age >= 18) { printf("성인입니다.\n"); } return 0;}if ~ elseif (조건식) { 실행문1;} else { 실행문2;}예제:int num = -5;if (num > 0) { printf("양수\n");} else { printf("음수 또는 0\n");}다중 if ~ else if ~ elseif (score >= 90) p..
