포인터로 배열들의 요소를 지적하고 배열간의 자료교환을 하는 프로그램을 작성하시오.
변수형과 포인터와의 관계, 포인터가 가리키는 대상의 크기 등을 보여주는 기능을 첨가하여 작성하시오.
(손도 못대겠슈=,.=;)
이게 어디서 나온 문제야?? -
톱아보다
└ 김승욱 교수님 과제입니다.;_; - 이연주
제가 수업을 잘 안들었군요.-_-;; 홈피 가보니;;;
http://prof.cau.ac.kr/~sw_kim/include.htm
~cpp
#include <stdio.h>
void main(void)
{
int i, *pi, ix[3]={1, 2, 3};
float *pf, fx[3]={1.0, 2.0, 3.0};
pi = ix;
pf = fx;
for(i=0; i<3; i++)
printf("(pi+%d) = %p *(pi+%d) = %d (pf+%d) = %p *(pf+%d)
= %.1f\n", i, (pi+i), i, *(pi+i), i, (pf+i), i, *(pf+i));
}
~cpp
#include <stdio.h>
void main(void)
{
int abc[3]={1, 2, 3}, *bcd;
clrscr();
bcd = abc;
printf("___Name___ _Size_\n");
printf(" abc %d\n", sizeof(abc));
printf(" abc[1] %d\n", sizeof(abc[1]));
printf(" bcd %d\n", sizeof(bcd));
printf(" *bcd %d\n", sizeof(*bcd));
printf(" *(bcd+1) %d\n", sizeof(*(bcd+1)));
}
~cpp
#include <stdio.h>
void main(void)
{
int i, a[3]={1,2,3}, *b, c[3];
clrscr();
printf(" Array Copy A. ( pointer b=a )\n");
b=a;
for(i=0; i<3; i++)
printf("a[%d]=%d *(b+%d)=%d\n", i, a[i], i, *(b+i));
printf("\n Array Copy B. ( c[i]=a[i] )\n");
for(i=0; i<3; i++)
c[i] = a[i];
/* c=a; Why not ? */
for(i=0; i<3; i++)
printf("a[%d]=%d c[%d]=%d\n", i, a[i], i, c[i]);
}