#include <stdio.h>#include<stdlib.h>#include<string.h>structnamect{Charfname[ -];//Array Char*lname;//Pointers intletters;};voidGetInfostructNamect *);structNamect Makeinfo (structnamect);voidShowinfo (structNamect *);intMain () {structNamect persion; GetInfo (&persion); Persion=Makeinfo (persion); Showinfo (&persion); return 0;}/** * Pointer passing struct body*/voidGetInfostructNamect *PST) {printf ("entenr you first name\n"); Gets (PST->fname);//does not read \ n, it is left in the input buffer.//fgets (Pst->fname,20,stdin);printf"Entenr name\n"); //gets (pst->lname); Chartemp[ -]; Gets (temp); PST->lname = (Char*) malloc (strlen (temp) +1); strcpy (PST-lname,temp); //fgets (Pst->lname,20,stdin);}/** * Transfer struct as parameter*/structNamect Makeinfo (structNamect Info) {Info.letters= strlen (info.fname) +strlen (info.lname); returninfo;}voidShowinfo (structNamect *PST) {printf ("%s%s,your name contains%d letters\n",pst->fname,pst->lname,pst->letters);}
C Language: Function processing structure