其他分享
首页 > 其他分享> > C语言学习记录10

C语言学习记录10

作者:互联网

10.初始结构体 1.结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。   2.结构声明 struct Stu//Stu结构体标签 struct结构体关键字 { //描述一个学生,一些数据 char name[20]; short age; char tele[12]; char sex[5]; //成员变量 }s1,s2,s3;//s1,s2,s3是三个全局的结构体变量   typedef struct Stu { //描述一个学生,一些数据 char name[20]; short age; char tele[12]; char sex[5]; }Stu;   int main() { struct Stu s;//s 创建结构体局部变量 Stu s2={"XX",30,"1111111111","保密"}; return 0; }   3.结构体成员的访问 结构体变量访问成员,结构体变量的成员是通过点操作符(.)访问的。点操作符接受两个操作数。 s.name   typedf struct Stu { char name[20]; short age; char tele[12]; char sex[5]; }Stu;   void Print1(Stu tmp) { printf("name:%s\n",tmp.name); printf("nage:%d\n",tmp.age); printf("tele:%s\n",tmp.tele); printf("sex:%s\n",tmp.sex); }   void print2(Stu* ps) { printf("name:%s\n",ps-->name); printf("nage:%d\n",ps-->age); printf("tele:%s\n",ps-->.tele); printf("sex:%s\n",ps-->sex); }   int main() { Stu s={"李四",40,"1111111111111","男"}; print1(s); print2 (&s); return 0; }   4.结构体传参 print2函数比print1更好 print1进行传参时,空间浪费和时间浪费比较严重 而print2进行传参时,只要传递地址,性能更高。   函数传参----压栈   栈区: 局部变量 函数的形式参数 函数调用也开辟空间   堆区:动态内存分配 malloc/free realloc calloc   静态区:全局变量 静态变量   //扩展知识点:函数栈帧的创建和销毁

标签:10,name,记录,C语言,char,Stu,tele,printf,sex
来源: https://blog.51cto.com/u_15229941/2949804