第五話 引数

 


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 ;

}

もどる