728x90
반응형
C 언어로 이중 포인터 활용하기 - 초급 예제
이 예제에서는 C 언어에서 이중 포인터를 정의하고 활용하는 방법을 알아보겠습니다. 이중 포인터는 포인터의 포인터로, 메모리 주소를 참조하는 데 더 복잡한 구조를 사용할 때 유용합니다.
예제 1: 이중 포인터로 배열 요소 출력
이중 포인터를 사용하여 배열 요소를 출력하는 C 프로그램의 예제 코드입니다:
#include
void printArray(int **arr, int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int row = 3, col = 3;
int **matrix;
// 이중 포인터에 메모리 할당
matrix = (int **)malloc(row * sizeof(int *));
for (int i = 0; i < row; i++) {
matrix[i] = (int *)malloc(col * sizeof(int));
}
// 배열 초기화
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
matrix[i][j] = i * col + j + 1;
}
}
printf("배열 요소 출력:\n");
printArray(matrix, row, col);
// 메모리 해제
for (int i = 0; i < row; i++) {
free(matrix[i]);
}
free(matrix);
return 0;
}
예제 2: 이중 포인터로 동적 배열 생성
이중 포인터를 사용하여 동적으로 배열을 생성하고 값을 입력하는 C 프로그램의 예제 코드입니다:
#include
int main() {
int row = 2, col = 4;
int **matrix;
// 이중 포인터에 메모리 할당
matrix = (int **)malloc(row * sizeof(int *));
for (int i = 0; i < row; i++) {
matrix[i] = (int *)malloc(col * sizeof(int));
}
// 배열 초기화
printf("배열 요소 입력:\n");
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
scanf("%d", &matrix[i][j]);
}
}
printf("배열 요소 출력:\n");
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
// 메모리 해제
for (int i = 0; i < row; i++) {
free(matrix[i]);
}
free(matrix);
return 0;
}
예제 3: 이중 포인터로 문자열 배열 다루기
이중 포인터를 사용하여 문자열 배열을 다루는 C 프로그램의 예제 코드입니다:
#include
int main() {
int numStrings = 3;
char *strings[] = {"Hello", "World", "CProgramming"};
printf("문자열 배열 출력:\n");
for (int i = 0; i < numStrings; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
예제 4: 이중 포인터로 정수 배열 정렬
이중 포인터를 사용하여 정수 배열을 오름차순으로 정렬하는 C 프로그램의 예제 코드입니다:
#include
void sortArray(int **arr, int rows, int cols) {
// 정렬 알고리즘을 사용하여 배열 정렬
// (여기서는 생략하고 정렬된 배열을 가정합니다)
}
int main() {
int row = 3, col = 3;
int **matrix;
// 이중 포인터에 메모리 할당 및 배열 초기화
printf("정렬 전 배열:\n");
printArray(matrix, row, col);
// 배열 정렬
sortArray(matrix, row, col);
printf("정렬 후 배열:\n");
printArray(matrix, row, col);
// 메모리 해제
return 0;
}
예제 5: 이중 포인터로 동적 2D 배열 생성
이중 포인터를 사용하여 동적으로 2D 배열을 생성하고 값을 입력하는 C 프로그램의 예제 코드입니다:
#include
int main() {
int row = 2, col = 3;
int **matrix;
// 이중 포인터에 메모리 할당 및 배열 초기화
printf("배열 요소 입력:\n");
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
scanf("%d", &matrix[i][j]);
}
}
printf("배열 요소 출력:\n");
printArray(matrix, row, col);
// 메모리 해제
return 0;
}
728x90
반응형
'IT기초 > C 언어' 카테고리의 다른 글
[C언어] 재귀함수 사용법 - 예제 코드 포함 (0) | 2023.09.06 |
---|---|
[c언어] 포인터와 배열 조합 사용법 - 예제 코드 포함 (0) | 2023.09.06 |
[C언어] 파일 입출력 사용법 - 예제 코드 포함 (0) | 2023.09.06 |
[c언어] 포인터 사용 방법 - 예제 코드 포함 (0) | 2023.09.06 |
[c언어] 구조체 (struct) 사용 방법 - 예제 코드 포함 (0) | 2023.09.06 |