网站广告通栏效果,久免费域名注册网站,教做香肠的网站,延吉哪家网站建设公司好结构体学习#xff1a;
为什么会出现结构体#xff1a; 为了表示一些复杂的数据#xff0c;而普通的基本类型变量无法满足要求#xff1b;
定义#xff1a; 结构体是用户根据实际需要自己定义的符合数类型#xff1b;
如何使用结构体#xff1a;
//定义结构体
struc…结构体学习
为什么会出现结构体 为了表示一些复杂的数据而普通的基本类型变量无法满足要求
定义 结构体是用户根据实际需要自己定义的符合数类型
如何使用结构体
//定义结构体
struct Student
{int sid;char name[200];int age;
};//1.整体赋值
struct Student st {1001,zhangsan,18};//2.单个赋值
st.id 1001;
strcpy(st.name,zhangsan);
st.age 18;//3.指针方式赋值
struct Student *pst;
pst-sid 1001;
strcpy(pst-name,zhangsan);
pst-age 18;
注意事项 结构体变量不能算数计算但是可以相互赋值普通结构体变量和结构体指针变量作为函数传参的问题推荐使用传递结构体指针的方式这样效率高节约内存。
malloc学习
示例代码
#include stdio.h
#include malloc.hint main(void)
{int len;char a[5] {1,2,3,4,5};printf(请输入你要创建的数组长度len );scanf(%d,len);int * pArr (int *)malloc(sizeof(int) * len);for (int i 0; i len; i){scanf(%d,pArr[i]);}for (int i 0; i len; i){printf(%d\n,pArr[i]);}free(pArr);return 0;
}
运行结果 跨函数使用内存
#include stdio.h
#include malloc.hstruct Student
{int sid;int age;
};
struct Student * creatlist()
{struct Student * ps (struct Student *)malloc(sizeof(struct Student));ps-age 99;ps-sid 88;return ps;
}
void showlist(struct Student * pst)
{printf(%d %d\n,pst-sid,pst-age);
}
int main(void)
{struct Student * ps;ps creatlist();showlist(ps);return 0;
}运行结果