개인노트
문제 1.) 길이가 5인 int형 배열을 1,2,3,4,5로 선언 및 초기화 후 포인터 변수 ptr에 저장된 값을 증가시키는 형태의 연산을 기반으로 배열 요소에 접근 하면서 모든 배열 요소의 값을 2씩 증가 시킨 후 출력하여라. Q) 13-1_1.c #include int main(void) {int arr[] = { 1,2,3,4,5 };int *ptr = arr;int i; for (i = 0; i < 5; i++) {*ptr += 2;ptr++;} for (i = 0; i < 5; i++) {printf("%d 번째 배열의 값 : %d \n", i, arr[i]);}getchar();} 문제 2.) 문제 1과 달리 포인터 변수 ptr에 저장된 값을 변경시키지 않고 ptr을 대상으로 덧셈 연산을 하여..
배열의 이름은 포인터(메모리 주소값을 나타냄)이며 포인터 변수와는 달리 값을 바꿀 수 없는 상수형태의 포인터이다. Source.c #include int main(void) {int arr[] = { 1,2,3 };printf("배열의 이름 : %p \n", arr);printf("첫번째 요소 : %p \n", &arr[0]);printf("두번째 요소 : %p \n", &arr[1]);printf("세번째 요소 : %p \n", &arr[2]); getchar();} Source.c 1. 배열 이름의 주소 값과 배열의 첫번째 주소 값이 동일한 것을 알 수 있다. 2. 두번째 요소와 세번째 요소의 값의 차이가 4인것을 보아 'int형 배열 요소간 주소 값의 차는 4byte이다.' 3. 변수 앞에 기호 &..
문제 1. 아래의 예제 실행 시 포인터 변수와 변수의 관계를 그림으로 그린 후 출력의 결과를 말하여라. Q) 12-1_1.cint main(void) {int num = 10;int * ptr1 = #int * ptr2 = ptr1; (*ptr1)++;(*ptr2)++; printf("%d \n", num);getchar(); } 출력 결과 : num의 값은 2번 상승하여 12이다. 문제 2. int형 변수 num1, num2를 10과 20으로 선언 및 초기화 → int형 포인터 변수 ptr1, ptr2 선언 후 num1, num2를 가리킴 → 포인터 변수를 이용하여 num1은 10증가 num2는 10 감소 → ptr1과 ptr2이 가리키는 대상을 바꾸고 출력 하여라. Q) 12-1_2.c #in..