第五話 引数
arg01.c
/*
* arguemnts
*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
void inc( int i )
{
i=i+1;
}
int main( void )
{
int i;
i=10;
inc(i);
printf( "i=%d", i);
return 0 ;
}
arg01a.c
/*
* 引数
*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
void inc( int *i )
{
*i=*i+1;
}
int main( void )
{
int i;
i=10;
inc(&i);
printf( "i=%d", i);
return 0 ;
}
arg02.c
/*
* 引数
*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
/* inc */
int inc( int i )
{
i=i+1;
return i;
}
/* main */
int main( void )
{
int i;
i=10;
i=inc(i);
printf( "i=%d", i);
return 0 ;
}
arg03.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
char[] sub( char a[], char b[] )
{
char work[256];
strcpy(work,a);
strcat(work,b);
return work;
}
int main( void )
{
char ans[256];
char a[]="abc";
char b[]="def";
ans=sub(a,b);
printf( "%s+%s=%s",a,b,ans);
return 0 ;
}
arg03a.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
char[256] sub( char a[], char b[] )
{
char work[256];
strcpy(work,a);
strcat(work,b);
return work;
}
int main( void )
{
char ans[256];
char a[]="abc";
char b[]="def";
ans=sub(a,b);
printf( "%s+%s=%s",a,b,ans);
return 0 ;
}
arg03b.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
char* sub( char a[], char b[] )
{
char work[256];
strcpy(work,a);
strcat(work,b);
return work;
}
int main( void )
{
char *ans;
char a[]="abc";
char b[]="def";
ans=sub(a,b);
printf( "%s+%s=%s",a,b,ans);
return 0 ;
}
arg03c.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
char* sub( char a[], char b[] )
{
static char work[256];
strcpy(work,a);
strcat(work,b);
return work;
}
int main( void )
{
char *ans;
char a[]="abc";
char b[]="def";
ans=sub(a,b);
printf( "%s+%s=%s",a,b,ans);
return 0 ;
}
arg04.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
void sub( char ans[] ,char a[], char b[] )
{
strcpy(ans,a);
strcat(ans,b);
}
int main( void )
{
char ans[256];
char a[]="abc";
char b[]="def";
sub(ans,a,b);
printf( "%s+%s=%s",a,b,ans);
return 0 ;
}
arg04a.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
void sub( char* ans ,char* a, char* b )
{
strcpy(ans,a);
strcat(ans,b);
}
int main( void )
{
char ans[256];
char a[]="abc";
char b[]="def";
sub(ans,a,b);
printf( "%s+%s=%s",a,b,ans);
return 0 ;
}
arg04b.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
void sub( char* ans ,char* a, char* b )
{
strcpy(ans,a);
strcat(ans,b);
}
int main( void )
{
char ans[256];
char* a="abc";
char* b="def";
sub(ans,a,b);
printf( "%s+%s=%s",a,b,ans);
return 0 ;
}
arg04c.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
void sub( char* ans ,const char* a, const char* b )
{
strcpy(ans,a);
strcat(ans,b);
}
int main( void )
{
char ans[256];
char* a="abc";
char* b="def";
sub(ans,a,b);
printf( "%s+%s=%s",a,b,ans);
return 0 ;
}
param01.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
void sub( char* a )
{
printf( "%s", a);
}
int main( void )
{
char a[]="abcdef";
sub( &a[0] );
return 0 ;
}
param02.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
void sub( char a[] )
{
printf( "%s", &a[0]);
}
int main( void )
{
char a[]="abcdef";
sub( a );
return 0 ;
}
param02a.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
void sub( char a[] )
{
printf( "sub: %s", &a[0]);
printf( ", address of a = 0x%08x\n", &a[0]);
}
int main( void )
{
char a[]="abcdef";
printf( "main: %s", &a[0]);
printf( ", address of a = 0x%08x\n", &a[0]);
sub( a );
return 0 ;
}
param02b.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
void sub( char a[] )
{
printf( "sub: sizeof a = %d\n", sizeof a);
}
int main( void )
{
char a[]="abcdef";
printf( "main: sizeof a = %d\n", sizeof a);
sub( a );
return 0 ;
}
param02c.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
void sub( char a[] )
{
printf( "sub: sizeof a = %d\n", sizeof a);
a[1] = 'x';
printf( "sub: a = %s\n", a);
}
int main( void )
{
char *a="abcdef";
printf( "main: sizeof a = %d\n", sizeof a);
sub( a );
return 0 ;
}
argStruct01.c
/*
* arguemnts
*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
struct t_arg
{
int i;
int j;
};
int inc( struct t_arg a )
{
return a.i + a.j;
}
int main( void )
{
struct t_arg a;
int k;
a.i = 10;
a.j = 100;
k = inc( a );
printf( "a.i + a.j = %d", k);
return 0 ;
}
argStruct02.c
/*
* arguemnts
*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
struct t_arg
{
int i;
int j;
};
void inc( struct t_arg a )
{
a.i = 20;
a.j = 200;
return;
}
int main( void )
{
struct t_arg a;
a.i = 10;
a.j = 100;
printf( "a.i + a.j = %d\n", a.i + a.j);
inc( a );
printf( "a.i + a.j = %d\n", a.i + a.j);
return 0 ;
}
argStruct02a.c
/*
* arguemnts
*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
struct t_arg
{
int i;
int j;
};
void inc( struct t_arg *a )
{
a->i = 20;
a->j = 200;
return;
}
int main( void )
{
struct t_arg a;
a.i = 10;
a.j = 100;
printf( "a.i + a.j = %d\n", a.i + a.j);
inc( &a );
printf( "a.i + a.j = %d\n", a.i + a.j);
return 0 ;
}
argStruct03.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
struct t_arg
{
char s1[8];
char s2[8];
};
void sub( char ans[] ,struct t_arg a )
{
strcpy(ans,a.s1);
strcat(ans,a.s2);
}
int main( void )
{
char ans[256];
struct t_arg a;
strcpy(a.s1,"abc");
strcpy(a.s2,"edf");
sub(ans,a);
printf( "%s+%s=%s",a.s1, a.s2, ans);
return 0 ;
}
argStruct04.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
#include <string.h>
struct t_arg
{
char s1[8];
char s2[8];
};
struct t_ans
{
char s[32];
};
struct t_ans sub( struct t_arg a )
{
struct t_ans ans;
strcpy(ans.s, a.s1);
strcat(ans.s, a.s2);
return ans;
}
int main( void )
{
struct t_ans ans;
struct t_arg a;
strcpy(a.s1,"abc");
strcpy(a.s2,"edf");
ans = sub( a );
printf( "%s+%s=%s",a.s1, a.s2, ans.s);
return 0 ;
}