/*3포인터
포인터변수는 반드시 이미 정의된 변수의 주소로 초기화!
포인터변수는 주소만 갖는다.
포인터변수는 자료형과 관계없이 무조건 4byte!
*/
#include<stdio.h>
int main()
{
int a=10;
/*int *pa;//==int* pa; 정수형의 포인터변수 pa선언
pa=&a;*/
int *pa=&a;
//pa=2293576
printf("pa의 byte수 : %d\n",sizeof(pa));
printf("&a : %u\tpa : %u\n",&a,pa);
printf("a : %d\t",a);
printf("pa가 가리킨 값( *pa ) : %d\t",*pa);
return 0;
}
연산우선순위 * > + 므로
*(pa+i) (O)
*pa+i (X)
*pa(pa+i) ! = *pa+i
*/
#include<stdio.h>
int main()
{
double a[5]={1.1, 2.2, 5.7, 6.2, 3.3};
int i;
double *pa=a;//==double *pa=&a[0];
printf("pa의 byte수 : %d\n",sizeof(pa));//4
printf("주소 확인\n");
for(i=0;i<5;i++)
{
printf("&a[%d] = %u\t", &a[i]);
printf("pa+%d = %u\n",i,pa+i);
}
printf("값 확인\n");
for(i=0;i<5;i++)
{
printf("&a[%d] = %.1f\t", &a[i]);
printf("pa+%d = %.1f\n",i,*(pa+i));
}
return 0;
}
'PROGRAMMING > C' 카테고리의 다른 글
[대체] 구조체배열 (0) | 2011.02.18 |
---|---|
[대체] 13. 구조체 (0) | 2011.02.18 |
[대체] 사용자함수 (0) | 2011.02.18 |
[대체] 자리배치(1차원배열, 난수) (0) | 2011.02.18 |
[대체] 판매보고서, 채점(2차원배열) (0) | 2011.02.17 |