下のようなプログラムがあったとき引数と戻り値というのは、どれになるのでしょうか?
考え方も含めて分かる方、教えてください
関数の名前:add
引数:*head?
戻り値:わからないです
struct list *add( struct list *head )
{
struct list *p, *new;
char name_r[MAX_NAME_SIZE];
char tel_r[MAX_TEL_SIZE];
if(( new = ( struct list* ) malloc ( sizeof ( struct list ))) == NULL )
{
printf( "Memory error.\n" );
free(new);
return 0;
}
p=head;
printf( "名前の入力:" );
if( fgets(name_r,MAX_NAME_SIZE,stdin ) == NULL )
{
return 0;
}
if( strchr ( name_r,'\n' ) != NULL )
{
name_r[strlen(name_r)-1]='\0';
}else
{
while( getchar() !='\n' );
}
printf( "電話番号の入力:" );
if( fgets ( tel_r,MAX_TEL_SIZE,stdin ) == NULL )
{
return 0;
}
if( strchr ( tel_r,'\n' ) != NULL )
{
tel_r [ strlen ( tel_r ) -1 ] = '\0';
}else
{
while(getchar() !='\n');
}
strcpy( new -> name,name_r );
strcpy( new -> tel,tel_r );
new -> next = head;
head = new;
return head;
}