本篇博文最后修改时间:2017年07月17日 15:55。
一、简介
C语言定义struct结构体。
二、实验平台
电脑平台:Windows7 64位旗舰
编译软件:VC6.0++
三、版权声明
博主:_懵懂
声明:此博客仅供参考不做任何商业用途,最终解释权归原博主所有。
原文地址:http://blog.csdn.NET/qq_18842031
懵懂之MCU交流群:136384801
四、实验前提
1、在进行本文步骤前,请先安装VC6.0++版本;
五、基础知识
暂无
六、定义struct结构体
1、只有结构体
struct strudata{
int data1;
int data2;
int data3;
};
2、只有结构体的调用
struct strudata Strudata;
int main()
{
Strudata.data1 = 10;
Strudata.data2 = 11;
Strudata.data3 = 12;
printf("%d,%d,%d",Strudata.data1,Strudata.data2,Strudata.data3);
return 0;
}
结果输出10,11,12。
3、附加结构体变量
struct strudata{
int data1;
int data2;
int data3;
}Strudata;
int main()
{
Strudata.data1 = 10;
Strudata.data2 = 11;
Strudata.data3 = 12;
printf("%d,%d,%d",Strudata.data1,Strudata.data2,Strudata.data3);
return 0;
}
结果输出10,11,12。
4、结构体指针和数组
struct strudata{
int data;
int buf[10];
};
struct strudata Strudata;
int main()
{
struct strudata *p = &Strudata;
p->data = 10;
printf("%d\n",p->data);
for(unsigned char i = 0; i < 10; i++)
{
p->buf[i] = i;
printf("%d\n",p->buf[i]);
}
return 0;
}
结果输出10 0 1 2 3 4 5 6 7 8 9。
5、结构体里的结构体
struct A{
struct B{
int num;
struct C{
int temp;
}c;
}b;
}a;
int main()
{
a.b.c.temp = 10;
struct A *p=&a;
p->b.num = a.b.c.temp;
printf("%d\n",p->b.num);
return 0;
}
结果输出10。