int *arr = 10;
-> 변수 arr을 10으로 초기화하려고 합니다. 하지만 10은 유효한 메모리 주소가 아닙니다. 포인터 변수는 메모리 주소를 가리켜야 하므로 잘못된 사용입니다.
// 문제 : main 함수 안에있는 int 값들 중 최대값과 최소 값을 출력해주세요.
// 조건 : 변수 a만 사용 가능
int main(void) {
int a[10];
// 배열의 값 세팅
a[0] = -10;
a[1] = 10;
a[2] = 100;
a[3] = 210;
a[4] = 310;
a[5] = 1440;
a[6] = 1130;
a[7] = 33210;
a[8] = 1210;
a[9] = 33210;
int max_number = 0;
int min_number = 0;
// i가 인덱스 값
for(int i =0; i<10; i++) {
int current_num = *(a + i); // a[i]
printf("a[%d] : %d\n", i, current_num);
if(current_num > max_number){
max_number= current_num;
}
}
printf("최대값은 %d 입니다.\n", max_number);
return 0;
}
포인터(주소값) 저장하는 변수는 무조건 8바이트 입니다.
scanf : 입력받기
(포인터 변수 & 사용하기)
