C语言基础学习(19)传递结构的地址,结构体,但没有结构的指针

mac2025-08-09  8

指针的问题

```c #include<stdio.h> #include<string.h> #define NLEN 30 char* s_get(char *, int ); struct namect { char fname[NLEN]; char lname[NLEN]; int letters; }; void getinfor(struct namect *); void makeinfor(struct namect *); void showinfor(const struct namect*); int main() { struct namect person; //这里写成:struct namect * person;就不行,是野指针的关系?待解决 getinfor(&person); makeinfor(&person); showinfor(&person); return 0; } char* s_get(char* str, int n) { char* rel_val; char * find; rel_val = fgets(str, n, stdin); if(rel_val){ find = strchr(str, '\n'); if(find) *find = '\0'; else while(getchar() != '\n') { continue; } } return rel_val; } void getinfor(struct namect * pst) { printf("Please enter your first name:\n"); s_get(pst->fname, NLEN); printf("Please enter your last name:\n"); s_get(pst->lname, NLEN); } void makeinfor (struct namect* pst) { pst->letters = strlen(pst->fname) + strlen(pst->lname); } void showinfor(const struct namect * pst) { printf("%s\n%s\n%d\n", pst->fname,pst->lname, pst->letters); }
最新回复(0)