结构体是一种构造数据类型 (构造数据类型:数组类型、结构体类型(struct)、共用体类型(union))。用途:把不同类型的数据组合成一个整体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。
第一种:
#include <stdio.h>
#include <string.h>
int main()
{
struct PERSON{
int age;
int height;
char name[15];
}p1;
p1.age = 28;
p1.height = 178;
strcpy(p1.name, "phper");
printf("%d,%d,%s",p1.age,p1.height,p1.name);
}
第二种:
#include <stdio.h>
#include <string.h>
struct PSERSON{
int age;
int height;
char name[15];
}p1={
age:28,
height:178,
name:"phper"
};
printf("%d,%d,%s",p1.age,p1.height,p1.name);
}
第三种:
#include <stdio.h>
#include <string.h>
struct PSERSON{
int age;
int height;
char name[15];
}p1={
.age = 28,
.height = 178,
.name = "phper"
};
printf("%d,%d,%s",p1.age,p1.height,p1.name);
}
第四种:
#include <stdio.h>
#include <string.h>
struct PSERSON{
int age;
int height;
char name[15];
}p1={28,178,"phper"};
printf("%d,%d,%s",p1.age,p1.height,p1.name);
}
结果
小案例:
#include <stdio.h>
#include <string.h>
struct TEST
{
int age;
int height;
char name[15];
};
void function_print(struct TEST p1)
{
printf("%d\n",p1.age);
printf("%d\n",p1.height);
printf("%s\n",p1.name);
}
int main()
{
struct TEST test={28,178,"phper"};
function_print(test);
return 0;
}
结果:
---------再来一个案例结合注释吸收一下---------
#include <stdio.h>
int main() {
//定义结构体类型
struct Person
{
int age;
int height;
char *name;
};
//初始化的4种方式
//1.定义的同时初始化
struct Person p1 = {28,178,"phper"};
//2.先定义再逐个初始化
struct Person p2;
p2.age = 28;
p2.height = 178;
p2.name = "phper";
//3.先定义再一次性初始化
struct Person p3;
p3 = (struct Person){28,178,"phper"};
//注意:结构体和数组在这里的区别,数组不能先定义再进行一次性初始化
//结构体要明确的告诉系统{}中是一个结构体
//4.指定将数据赋值给指定的属性
struct Person p4 = { .age=28 , .height=178, .name="phper"};
//打印结构体中取数据 //拿p4测试
printf("%d\n",p4.age);
printf("%d\n",p4.height);
printf("%s\n",p4.name);
return 0;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。