c语言中的指针,数组和结构体结合的一个经典案例
一 你真正懂了C语言了吗?
很多人刚把c语言用了两年,就以为很懂,等遇到稍微深层次一点的问题,就卡住了。这里,有一个问题,可以考察你对这三者理解如何。
二 一个例子:
#include <stdio.h> typedef unsigned char uint8_t; typedef struct { uint8_t ssid[32]; /**< SSID of ESP8266 soft-AP */ uint8_t password[64]; /**< Password of ESP8266 soft-AP */ } wifi_ap_config_t; typedef struct { uint8_t ssid[32]; /**< SSID of target AP*/ uint8_t password[64]; /**< password of target AP*/ } wifi_sta_config_t; typedef union { wifi_ap_config_t ap; /**< configuration of AP */ wifi_sta_config_t sta; /**< configuration of STA */ } wifi_config_t; #define SSID "test" #define PASSWD "1234567890" int main() { wifi_config_t wifi_config = { .sta = { .ssid = SSID, .password = PASSWD }, }; printf("hello world"); }
在你没有运行代码之前,能够看出来这个例子能够运行正确吗?有啥语法问题吗?
三 拓展问题
1 把这个结构体换成一个从数组中获取ssid和passwd,这个该怎么解决呢?写出你的代码。
2 把这个宏定义换成一个函数指针,从函数指针中获取ssid和passwd,这个代码该怎么改呢?写出你的代码。
假如你这两个都弄对了,恭喜你,说明你的c语言基础还真是不错的。
相关推荐
拉斯厄尔高福 2020-10-19
徐建岗网络管理 2020-06-26
penkgao 2020-06-25
fengjing81 2020-06-24
chensen 2020-11-14
拉斯厄尔高福 2020-11-04
杜倩 2020-10-29
嵌入式资讯精选 2020-10-15
zhaochen00 2020-10-13
penkgao 2020-10-13
yiyilanmei 2020-10-05
wanshiyingg 2020-09-29
Mars的自语 2020-09-27
shenwenjie 2020-09-24
一个逗逗 2020-09-22
flycony 2020-09-13
zhaochen00 2020-08-20
Biao 2020-08-20
qingsongzdq 2020-08-19