第一話 何故ヘッダファイルは必要
header01.c
/*
* no string.h header
*
* (c) Copyright Spacesoft corp., 2006 All rights reserved.
*/
#include <stdio.h>
int main( void )
{
char a[256]="abc";
size_t len;
len = strlen(a);
printf("length of [%s]=%d",a,len);
return 0 ;
}
header02.c
/*
* no string.h header
*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*/
#include <stdio.h>
int strlen( char* a )
{
return 100;
}
int main( void )
{
char a[256]="abc";
int len;
len = strlen(a);
printf("length of [%s]=%d",a,len);
return 0 ;
}
header03.c
/*
*
* with string.h header
*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*/
#include <stdio.h>
#include <string.h>
int main( void )
{
char a[256]="abc";
size_t len;
len = strlen(a);
printf("length of [%s]=%d",a,(int)len);
return 0 ;
}
header04.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
int add(int i, int j);
int main( void )
{
printf("%d+%d=%d\n",10, 20, add(10,20));
return 0 ;
}
int add(int i, int j)
{
return i+j;
}
header05.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
#include <stdio.h>
int add(int i, int j)
{
return i+j;
}
int main( void )
{
printf("%d+%d=%d\n",10, 20, add(10,20));
return 0 ;
}
header06.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
foo(); /* 前方宣言 */
int foo( int x, int y ); /* プロトタイプ宣言 */
/* foo関数の実体 */
int foo( int x, int y )
{
return x + y;
}
header07.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
foo(); /* 前方宣言 */
int main(void)
{
return foo();
}
/* foo関数の実体 */
int foo( int x, int y )
{
return x + y;
}
header08.c
/*
* (c)Copyright Spacesoft corp., 2006 All rights reserved.
*
*/
int foo(int x, int y); /* プロトタイプ宣言 */
int main(void)
{
return foo(); /* コンパイルエラーまたは警告 */
}
/* foo関数の実体 */
int foo( int x, int y )
{
return x + y;
}