嵌入式第五课-c语言结构体
Posted Soaring2020
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了嵌入式第五课-c语言结构体相关的知识,希望对你有一定的参考价值。
1结构体数组
#include <stdio.h>
#define ARRYA_SIZE(a) (sizeof(a)/sizeof(a[0]))
typedef struct student
char name[50];
int age;
int sex;
stu_t;
int main(void)
stu_t info[] =
.sex = 18,
.age = 18,
.name = "hello"
,
.sex = 12,
.age = 19,
.name = "world!"
;
for(int i =0 ;i<ARRYA_SIZE(info);i++)
printf("%s %d %d \\r\\n",info[i].name,info[i].age,info[i].sex);
return 0;
2j结构体函数指针
#include <stdio.h>
typedef struct student stu_t;
typedef void(*_pfunc_t)(stu_t *);
#define ARRYA_SIZE(a) (sizeof(a)/sizeof(a[0]))
typedef struct student
char name[50];
int age;
int sex;
_pfunc_t pfunc;
stu_t;
void show(stu_t *stu);
void show2(void);
int main(void)
stu_t info[] =
.sex = 18,
.age = 18,
.name = "hello",
.pfunc = show
,
.sex = 12,
.age = 19,
.name = "world!",
.pfunc = show2
;
printf("info 0 show:");
info[0].pfunc(&(info[0]));
printf("info 1 show2:");
info[1].pfunc(&(info[0]));
printf("for output:");
for(int i =0 ;i<ARRYA_SIZE(info);i++)
printf("%s %d %d \\r\\n",info[i].name,info[i].age,info[i].sex);
return 0;
void show(stu_t *stu)
printf("%s %d %d \\r\\n",stu->name,stu->age,stu->sex);
void show2(void)
printf("hello world!\\r\\n ");
执行结果:
嵌入式第四课—C语言文件操作 :https://blog.csdn.net/qq_21919455/article/details/117259838
嵌入式第六课——数据结构和算法-栈与循环队列 https://blog.csdn.net/qq_21919455/article/details/117280432
以上是关于嵌入式第五课-c语言结构体的主要内容,如果未能解决你的问题,请参考以下文章