#include <stdio.h>
#include <stdlib.h>
void pfunc(int *ar,int *arr,int num1,int num2);
int main(void)
{
int array1[4]={10,20,30,40};
int array2[2][2]={50,60,70,80};
int result=0;
pfunc(array1,&array2[0][0],sizeof(array2)/8,sizeof(array2)/8);
system("PAUSE");
return 0;
}
void pfunc(int *ar,int *arr,int num1,int num2)
{
int i,j,k;
for(i=0 ; i<4 ; i++)
{
printf("%3d",*(ar+i));
}
for(i=0 ; i<num1 ; i++)
{
for(k=0 ; k<num2 ; k++)
{
printf("%3d",*(arr+k));
}
}
return;
}
이거하면 10 20 30 40 50 60 50 60 나와여
저 오랜만이라 잘 몰라서 묻는데 그냥 ar쓰면 array1[0]의 주소값이 나오고 *ar쓰면 ar의 주소값이 나오는건가여? 그래서 *(ar+i) 하면 ar에서 i만큼 다음 주소값을 포인터형으로 반환하나; *( 요부분이 어지러움;; 별표 뺴면 뭔값나와여?
&ar이게 ar의 주소값인가;
&*정의가 기억이 잘 안나는 것 같음;;
&하면 주소값이 나와용~~