完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
p_lcd_params这个是不是和struct lcd_params是等价的吗?
复制代码 |
|
相关推荐
6个回答
|
|
参考
http://blog.csdn.net/superhoy/article/details/53667803 http://blog.csdn.net/u013632190/article/details/47720703 等等 |
|
|
|
大概是看明白了,p_lcd_params plcdparams这个为什么 不写成*p_lcd_params *plcdparams那
|
|
|
|
你对指针看来不怎么熟悉,我们定义一个指向整型的指针是int *p然后再初始化,这表面p是一个指向int的指针,他的数据类型是int*型,同理我们要定义一个指向结构体的指针应该如何操作呢?就应该是struct xxx *p,xxx是结构体的名字,这表面p是指向结构体的指针,p的数据类型是struct xxx *,继续,如果我们用typedef来定义结构体就是typedef struct xxx yyy,这样yyy就和struct xxx是一个意思了
,那么之前的结构体指针的定义就是yyy *p了,至于定义结构变量就更简单了,我们要定义一个int型的变量,操作是int a,那么定义一个结构体变量就是struct xxx a,如果用上了typedef,就是yyy a,总之要记住,结构体也是一种数据类型而已,和int char一样 |
|
|
|
那按照你说的 ,我可以将代码理解成这样typedef struct lcd_params {}lcd_params, *p_lcd_params;这句代码是分别定义了俩个别名,一个是lcd_params,一个是*p_lcd_params 。p_lcd_params的数据类型是struct lcd_params *,p_lcd_params 相当于变量吧,内部应该存放的地址,为什么可以在s3c2440_lcd_controller_init(p_lcd_params plcdparams)中可以这样使用,函数中的p_lcd_params 这个位置不应该是个数据类型吗,不应该是变量吧,不知道我是不是哪里理解错了
|
|
|
|
https://www.2cto.com/kf/201405/297534.html
typedef struct lcd_params {}lcd_params, *p_lcd_params; 意思是给你声明的结构体起一个别名叫lcd_params,同时起一个指针别名叫p_lcd_params 这个步骤并没有定义任何变量,上面的两个东西也不是变量,这个过程只是定义了两种数据类型,这样做的好处,我们就可以直接用这两个别名(实际上就是两种数据类型,和int一样)来定义变量 至于那个函数应该就可以理解了吧,不就是和void fun(int a);一个道理么? 当然上面我所说的这一切的前提都是前面有个typedef,否则就要你自己重新分析 |
|
|
|
明白了 非常感谢
|
|
|
|
只有小组成员才能发言,加入小组>>
197个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2160 浏览 6 评论
1968 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4523 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 05:03 , Processed in 0.771578 second(s), Total 89, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号