C로 배우는 프로그래밍 기초 14장 이해점검 풀이
(1) 다음 괄호 부분을 채우시오.
A. 일반 변수와는 다르게 다른 변수의 주소 값을 저장하는 변수를 (포인터)라 한다.
B. 변수의 주소 값을 16진수로 출력하려면 변환명세에 (%p)라고 기술한다.
C. 함수의 호출에서 형식인자에 해당하는 변수에 실인자 값의 주소를 복사한다는 의미의 원어를 (call-by-address)라 한다.
D. 포인터를 선언할 때 특정한 초기 값이 없는 경우, 포인터 값이 없다는 의미의 (NULL)을 대입할 수 있다.
E. 일차원 배열에서 배열의 한 원소 갓 a[3]과 같은 배열 이름 a를 이용한 참조 방법은 (*(a+3))이다.
====================================================================
(2) 다음 소스에서의 에러를 찾아보고 수정하시오.
A. int형 포인터 변수 p1,p2,p3를 한번에 선언하는 구문
int *p1,p2,p3; -> int *p1,*p2,*p3;
B. double d = 3.59;
int *pi = &d; -> double *pi = &d;
C. double d[] = {1.0,2,3.4,5.6};
*d++ = 3.1;
-> 포인터 상수 연산자이므로 증감 연산자 사용이 불가능
D. 이차원 배열의 첫 번째 원소인 dd[0][0]를 5.0으로 수정
double dd[][3] = {{1.0,2,3.4},{5.6}};
*dd = 5.0; -> **dd = 5.0;
====================================================================
(3) 다음 이차원 배열에서 출력 값은 무엇인가
A. printf(%d, %d
, sizeof(a), sizeof(a[0])); -> 24,8
.... |