- 주석 내용을 코드로 작성하세요.
int main()
{
int a;
int *p = &a;
//p를 이용해서 정수를 입력받기
//p를 이용해서 입력받은 정수를 출력
return 0;
}
- swap 함수를 완성하세요.
void swap()
{
}
int main()
{
int a = 5;
int b = 10;
printf("교환 전: a = %d, b = %d\\n", a, b); //5 10 출력
swap(&a, &b);
printf("교환 후: a = %d, b = %d\\n", a, b); //10 5 출력
return 0;
}
- 포인터를 활용해 배열을 순회하며 값을 출력하세요.
int main()
{
int i;
int arr[] = {1, 2, 3, 4, 5};
int *p = arr;
for (i = 0; i < 5; i++)
{
//p를 활용해 배열의 값 출력
}
return 0;
}
- 아래 주석 내용을 작성하세요.
int main()
{
int i, j;
int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 2차원 배열에 대한 포인터 변수 p를 정의
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("%d ", ); //p를 이용해 출력
}
printf("\\n");
}
return 0;
}
- 아래 코드를 완성하세요.
int main()
{
int *arr;
int size;
int i;
scanf("%d", &size);
// 동적 메모리 할당
for (i = 0; i < size; i++)
{
arr[i] = i + 1;
}
for (i = 0; i < size; i++)
{
printf("%d ", arr[i]);
}
free(arr);
return 0;
}
- 아래 주석 내용을 코드로 작성하세요.
int main()
{
int n;
int i;
scanf("%d", &n);
// 포인터 배열 동적 할당
for (i = 0; i < n; i++)
{
// 문자열 동적 할당, 크기는 50
printf("%d 번째 문자열을 입력하세요: ", i + 1);
// 문자열 입력받기
}
for (i = 0; i < n; i++)
{
printf("%d 번째 문자열은 %s\\n", i + 1, str[i]);
free(str[i]);
}
free(str);
return 0;
}
- 두 자연수 N, M을 입력받아 동적할당을 통해 N * M 행렬과 M * N 행렬을 생성한다. 생성한 두 행렬에 랜덤하게 값을 채운 후 두 행렬을 각각 출력한다. 두 행렬의 곱셈 결과를 화면에 출력한다.