C examples for Structure:Structure Value
Using structure passing and structure returns.
#include <stdio.h> #include <string.h> #define NLEN 30/*from w ww .j a v a 2 s . c o m*/ struct NameStructure { char fname[NLEN]; char lname[NLEN]; int letters; }; void getinfo(struct NameStructure *); void makeinfo(struct NameStructure *); void showinfo(const struct NameStructure *); char * s_gets(char * st, int n); int main(void){ struct NameStructure person; getinfo(&person); makeinfo(&person); showinfo(&person); return 0; } void getinfo (struct NameStructure * pst){ printf("Please enter your first name.\n"); s_gets(pst->fname, NLEN); printf("Please enter your last name.\n"); s_gets(pst->lname, NLEN); } void makeinfo (struct NameStructure * pst) { pst->letters = strlen(pst->fname) + strlen(pst->lname); } void showinfo (const struct NameStructure * pst) { printf("%s %s, your name contains %d letters.\n", pst->fname, pst->lname, pst->letters); } char * s_gets(char * st, int n) { char * ret_val; char * find; ret_val = fgets(st, n, stdin); if (ret_val){ find = strchr(st, '\n'); // look for newline if (find) // if the address is not NULL, *find = '\0'; // place a null character there else while (getchar() != '\n') continue; // dispose of rest of line } return ret_val; }