SH1R0_HACKER
C언어 :: 포인터 문제 (3) 본문
#include <stdio.h>
int main() {
int a = 10, b = 20;
int* ptr = &a;
*ptr = 30;
ptr = &b;
*ptr = 50;
printf("a : %d\n", a);
printf("b : %d\n", b);
printf("*ptr : %d\n", *ptr);
}
각 변수의 주소값이 아래와 같을 때 위 코드를 실행시켰을 경우 출력될 값을 적어보세요.
a의 주소값 : 100
b의 주소값 : 200
ptr의 주소값 : 300
[ 출력 값 ]
a :
b :
*ptr :
#include <stdio.h>
int main() {
int arr[10] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
printf("arr : %d\n", arr);
for (int i = 3; i < 5; i++) {
printf("%d - %d\n", arr + i, *(arr + i));
}
}
각 변수의 주소값이 아래와 같을 때 위 코드를 실행시켰을 경우 출력될 값을 적어보세요.
arr의 주소값 : 100
[ 출력 값 ]
arr :
#include <stdio.h>
int main() {
int arr[3][3] = { 0, };
printf("arr : %d\n", arr);
printf("&arr : %d\n", &arr);
printf("*arr : %d\n\n", *arr);
printf("arr[0] : %d\n", arr[0]);
printf("&arr[0] : %d\n", &arr[0]);
printf("*arr[0] : %d\n\n", *arr[0]);
printf("arr[0][0] : %d\n", arr[0][0]);
printf("&arr[0][0] : %d\n", &arr[0][0]);
}
각 변수의 주소값이 아래와 같을 때 위 코드를 실행시켰을 경우 출력될 값을 적어보세요.
arr의 주소값 : 100
[ 출력 값 ]
arr :
&arr :
*arr :
arr[0] :
&arr[0] :
*arr[0] :
arr[0][0] :
&arr[0][0] :
#include <stdio.h>
int main() {
int arr[3][3] = { 0, };
printf("&arr[0][0] : %d\n", &arr[0][0]);
printf("arr[0] + 1 : %d\n", arr[0] + 1);
printf("&arr[0] + 1 : %d\n", &arr[0] + 1);
printf("arr + 1 : %d\n", arr + 1);
printf("&arr + 1 : %d\n", &arr + 1);
}
각 변수의 주소값이 아래와 같을 때 위 코드를 실행시켰을 경우 출력될 값을 적어보세요.
arr의 주소값 : 100
[ 출력 값 ]
&arr[0][0] :
arr[0] + 1 :
&arr[0] + 1 :
arr + 1 :
&arr + 1 :
'Programming Language > C' 카테고리의 다른 글
C언어 :: 포인터 정리 (5) - 포인터 배열 (0) | 2021.01.17 |
---|---|
C언어 :: 포인터 정리 (4) - 2차원 배열과 배열 포인터 (0) | 2021.01.17 |
C언어 :: 포인터 정리 (3) - 배열 포인터 (0) | 2021.01.16 |
C언어 :: 포인터 문제 (2) (0) | 2021.01.16 |
C언어 :: 포인터 정리 (2) - 배열과 포인터의 관계 (0) | 2021.01.16 |