提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:以下是本篇文章正文内容,下面案例可供参考
一、结构体是什么?
相比于数组而言 结构体中有许多不同的成员 成员可以是字符串,数组,还可以是另一个结构体 结构体在生活中也是有很多用处 比如创建学生信息管理系统 ,一个学生要有名字吧 手机号 身份证信息 家庭成员等一系列信息 这是数组无法实现的
二、使用步骤
1.什么知识都是有一系列规定的 结构体也不例外 “struct”结构体特有的标志 接下来我给大家稍微举个例子
代码如下(示例):
struct stu//这个就是结构体“类型” struct + 自己想定义的那个结构体的特征防止看不懂 { char name[20];//这三个就是成员列表 里面有三个成员 int age; int tele[10]; };
struct stu { char name[20]; int age; char tele[10]; }s1,s2;//s1,s2为全局变量
struct stu { char name[20]; int age; int tele[10]; };
二,结构体怎么用
struct stu
{
char name[20];
int age;
int tele[10];
};
int main()
{
struct stu s = { "zhangsan", 20, 123456789 };//s为局部变量
printf("name: %s\n", s.name);
printf("age : %d\n", s.age);
printf("tele: %s\n", s.tele);
return 0;
}
1,typedef 在结构体中起到什么作用
它可以简化结构体类型的复杂程度 接下来看看代码怎么简化
typedef struct st
{
int arr[4];
}d;
typedef struct stu//typedef 简化结构体类型
{
char name[20];
int age;
d z;
char tele[10];
}t;
2,结构体传值和传址哪个好
结构体传值需要拷贝原参数 如果原参数大小过大 相当于这个代码浪费了一块空间 这是相当不划算的 那么该怎样解决呐
这就体现到传址的好处 就是传该结构体的地址 一个地址能有多大
X32 4个字节 X64 8个字节 相比于传值那个好 大家已经心中有数了
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
void print(t tmp)//传值 结构体传值时指向的对象要用 "."
{
printf("name: %s\n", tmp.name);
printf("age : %d\n", tmp.age);
printf("tele: %s\n", tmp.tele);
for (int i = 0; i < 4; i++)
{
printf("arr : %d \n", tmp.z.arr[i]);
}
}
void print1(t* tmp)//传址 结构体传址时指向的对象要用"->"
{
printf("name: %s\n", tmp->name);
printf("age : %d\n", tmp->age);
printf("tele: %s\n", tmp->tele);
for (int i = 0; i < 4; i++)
{
printf("arr : %d \n", tmp->z.arr[i]);
}
}
int main()
{
t s = { "zhangsan", 20,{5,6,7,8}, "123456789" };//s为局部变量
print(s);
print1(&s);
return 0;
}