C语言文件包含实例 C语言变参宏实例 C语言使用头文件实例 C语言文件包含实例 // names_st.h -- names_st structure header file // constants #include <string.h> #define SLEN 32 // structure declarations struct names_st { char first[SLEN]; char last[SLEN]; }; // typedefs typedef struct names_st names; // function prototypes void get_names(names *); void show_names(const names *); char * s_gets(char * st, int n); // names_st.c -- define names_st functions #include <stdio.h> #include "names_st.h" // include the header file // function definitions void get_names(names * pn) { printf("Please enter your first name: "); s_gets(pn->first, SLEN); printf("Please enter your last name: "); s_gets(pn->last, SLEN); } void show_names(const names * pn) { printf("%s %s", pn->first, pn->last); } 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; } C语言变参宏实例 C语言使用头文件实例