KAIHATSUGIKEN GROUP

C PROGRAMMING LANGUAGE



********************************************************************************
10 アドレス渡し
************
void tasu(int x,int y,int*z);
main()
{
int a,b,c;
a=2;
b=3;
tasu(a,b,&c);
printf("%d\n",c);
}
void tasu(int x,int y,int*z)
{
*z=x+y;
}
****
5
****
void tasu(int x,int y,int*z);
main()
{
int a,b,c;
a=2;
b=3;
tasu(a,b,&c);				        /* 引き数としてアドレスを指定 */
printf("%d\n",c);
}
void tasu(int x,int y,int*z)
{
*z=x+y;
}
****
void tasu(int x,int y,int*z);
main()
{
int a,b,c;
a=2;
b=3;
tasu(a,b,&c);
printf("%d\n",c);
}
void tasu(int x,int y,int*z)			/* アドレスはポインタで受ける */
{
*z=x+y;
}
****
void tasu(int x,int y,int*z);
main()
{
int a,b,c;
a=2;
b=3;
tasu(a,b,&c);
printf("%d\n",c);
}
void tasu(int x,int y,int*z)			  	      /* z=&c となる */
{
*z=x+y;
}
****
void tasu(int x,int y,int*z);
main()
{
int a,b,c;
a=2;
b=3;
tasu(a,b,&c);
printf("%d\n",c);
}
void tasu(int x,int y,int*z)
{
*z=x+y;		/* zをアドレスとする記憶領域にx+yを代入する この場合はcの事 */
}
****
void tasu(int x,int y,int*z);
main()
{
int a,b,c;
a=2;
b=3;
tasu(a,b,&c);
printf("%d\n",c);			  	/* cにx+yの値5が代入される */
}
void tasu(int x,int y,int*z)
{
*z=x+y;
}
****
void tasu(int x,int y,int*z);
main()
{
int a,b,c;
a=2;
b=3;
tasu(a,b,&c);
printf("%d\n",c); 		     /* tasuの処理が終わりprintfが実行される */
}
void tasu(int x,int y,int*z)
{
*z=x+y;
}
****
void tasu(int x,int y,int*z);
main()
{
int a,b,c;
a=2;
b=3;
tasu(a,b,&c);
printf("%d\n",c);
}
void tasu(int x,int y,int*z)
{
*z=x+y;
}				/* アドレス渡しはreturnなしで結果を反映できる */
****
void tasu(int x,int y,int*z);
main()
{
int a,b,c;
a=2;
b=3;
tasu(a,b,&c);
printf("%d\n",c);
}
void tasu(int x,int y,int*z)    /* returnで返り値を返さない関数はvoid型にする */
{
*z=x+y;
}