chapter 15) 이중 포인터를 사용한 포인터 교환
#include void swap_ptr(char **ppa, char **ppb); int main(void){ char *pa = "success"; char *pb = "failure"; printf("pa -> %s, pb -> %s\n", pa, pb); swap_ptr(&pa, &pb); printf("pa -> %s, pb - > %s\n", pa, pb); return 0; } void swap_ptr(char **ppa, char **ppb){ char *pt; pt = *ppa; *ppa = *ppb; *ppb = pt; } ### `main` 함수 - `char *pa = "success";`와 `char *pb = "failure";`를 통해, 두 개의 문자열 포인터 `pa`와 `p..
2024. 9. 12.
chapter 15) 배열 포인터로 3차원 배열의 값 출력
#include int main(void){ int ary[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; int(*pa)[4]; int i, j; pa = ary; for (i = 0; i< 3; i++){ for (j = 0; j< 4; j++){ printf("%5d", pa[i][j]); } printf("\n"); } } ### 코드 설명 - `int ary[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};`는 3행 4열의 2차원 정수 배열 `ary`를 선언하고 초기화합니다. 이 배열은 총 3개의 행과 각 행에 4개의 열을 포함합니다. - `int(*pa)[4];`는 각각 4개의 정수를 원소로 갖는 배열을 가리키는 포인터 `pa`를 선언..
2024. 9. 11.
chapter 14) 2차원 배열의 값을 출력하는 함수
#include void print_ary(int (*)[4]); int main(void){ int ary[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; print_ary(ary); return 0; } void print_ary(int (*pa)[4]){ int i, j; for (i = 0; i< 3; i++){ for (j = 0; j< 4; j++){ printf("%5d", pa[i][j]); } printf("\n"); } } ### 코드 설명 이 프로그램은 2차원 배열을 매개변수로 받는 함수를 통해 배열의 내용을 출력하는 예제입니다. 이를 통해 C언어에서 2차원 배열과 포인터 배열을 함수에 전달하는 방법을 보여줍니다. ### 배열과 함수 선언 - `int a..
2024. 9. 10.
chapter 14) 2차원 배열의 다양한 초기화
#include int main(void){ int num[3][4] = { {1,2,3,4}, {5,6,7,8}, {9,10,11,12} }; int i, j; for (i = 0; i < 3; i++){ for (j = 0; j < 4; j++){ printf("%5d", num[i][j]); } printf("\n"); } return 0; } - **배열 초기화**: - `int num[3][4]`를 사용하여 3행 4열의 2차원 정수 배열 `num`을 선언하고 초기화합니다. 배열은 다음과 같이 초기화됩니다: - 첫 번째 행: `{1, 2, 3, 4}` - 두 번째 행: `{5, 6, 7, 8}` - 세 번째 행: `{9, 10, 11, 12}` - **중첩 `for` 루프**: - 두 개의 중첩된..
2024. 9. 9.