![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
#include<stdio.h> #include<windows.h> int main() { //基本结构体 struct { int age = 10; char name[6] = "pride"; }obj; printf("结构体相当于一个对象使用.符号来调用里面的值:%d---------%s\n",obj.age,obj.name); system("pause"); return 0; }
结构体:{ }括号里面的相当于一个类属性,{}前面的结构体名相当于类的类型,{}后面相当于类的对象。对象可以在声明时候直接赋值,也可以使用对象调用赋值。
结构体字符串类型赋值:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
#include<stdio.h> #include<windows.h> //基本结构体 struct Mystruct { int age; char name[20]; }obj = { 12,"asdfg" }; int main() { printf("结构体相当于一个对象使用.符号来调用里面的值:%d---------%s\n",obj.age,obj.name); obj.age = 13; //obj.name = "xiaohe"; 这条语句时错误的,结构体类型不能直接赋值字符串 //使用strcpy函数来给结构体字符串类型赋值 strcpy_s(obj.name,20,"xiaohe"); printf("结构体相当于一个对象使用.符号来调用里面的值:%d---------%s\n", obj.age, obj.name); system("pause"); return 0; }
结构体的使用:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
#include<stdio.h> #include<windows.h> //结构体 struct Mystruct { int age; char name[20]; }mystruct; int main() { mystruct = {11,"xiaohei"};//结构体变量初始化 struct Mystruct a;//定义结构体变量 Mystruct b;//定义结构体变量时,前面struct可以省略 Mystruct c = {10,"定义时候初始化"}; printf("%s\n",c.name); system("pause"); return 0; }
结构体图解:
结构体数组的使用与定义:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
#include<stdio.h> #include<windows.h> //结构体可以单独写在函数外面,也可以写在函数里面 int main() { //结构体数组 struct MyStruct { int a; char b[20]; }array1[2];//直接定义结构体时声明变量数组。 array1[0] ={11,"xiaohei"}; array1[1] = {12,"xiaobai"}; printf("%d----%s\n",array1[0].a,array1[1].b); struct MyStruct1 { int a; char b[20]; }; struct MyStruct1 a[2];//使用结构体类型定义结构体变量,在c++中可以省略前面的struct关键字 struct MyStruct1 b[2] = { {10,"h1"},{11,"h2"} };//定义结构体数组并初始化数组 printf("德玛西亚----%d",b[1].a); system("pause"); return 0; }