LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1448|回复: 5

请教各位高手:typedef char* ST_String_t; 定义了什么?

[复制链接]
发表于 2006-10-16 16:20:03 | 显示全部楼层 |阅读模式
如题!
为什么要定义这样的类型?
若是再声明了一个变量:
ST_String_t   Abbr_Show_Osd,

则Abbr_Show_Osd 表示的是什么?
请各位高手赐教...
发表于 2006-10-16 17:19:55 | 显示全部楼层
1、typedef 没有定义新类型,只是定义一个别名而已。 一般用以表示特定含义,或简化形式
2、一个char*指针
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-18 18:33:11 | 显示全部楼层
typedef volatile U32 *STPTI_DevicePtr_t;
又声明了什么?
这个别名看不懂啊!!!
回复 支持 反对

使用道具 举报

发表于 2006-10-18 18:56:05 | 显示全部楼层
首先要知道U32是一个什么类型,这在你看的代码里是可以找到的. 可能也是个typedef.

关于volatile, 这是C语言里的知识. (它告诉编译器该变量除了可被程序改变以外还可以被其他代理改变........) 这是C Primer Plus 第五版里的原话,中文版.
(google 肯定也可以找到.)

这样你应该明白这是什么意思了吧.
要看源代码的话,需要把基础打打好.要不看得太累了,也太慢了.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-20 11:49:10 | 显示全部楼层
Post by future_god
首先要知道U32是一个什么类型,这在你看的代码里是可以找到的. 可能也是个typedef.

关于volatile, 这是C语言里的知识. (它告诉编译器该变量除了可被程序改变以外还可以被其他代理改变........) 这是C Primer Plus 第五版里的原话,中文版.
(google 肯定也可以找到.)

这样你应该明白这是什么意思了吧.
要看源代码的话,需要把基础打打好.要不看得太累了,也太慢了.
谢谢future_god 兄指点.
怎么能打好基础呢?
有什么好点的书么?
谢谢!!
回复 支持 反对

使用道具 举报

发表于 2006-10-24 19:35:07 | 显示全部楼层
怎么打好基础,这个话题太大了,我说不好.
仅把我现在知道的说一下,仅代表个人意见,欢迎大家补充.
这本书很不错,C Programming Language, 最好是英文版的.
书上的例子一定要敲一遍,光看还不行,要多练习,因为编程这东西实践很重要.通过练习方可真正掌握C语言的编程方法和特性.
语法没有问题的情况下还需要经常写一些小例子.这时可以学习数据结构和算法,这个对程序的性能有很大的影响,也是程序的核心部分.数据结构和算法需要长期的学习.
看他人的源代码是一个学习的好方法. 从中可以学习到程序的架构,特别是大的程序,程序架构很重要.
这些只是用C语言编程的前提.如果要在特定的系统上编程,如linux,需要学习的东西就更多了.
比较经典的书有:
入门的有Beginning Linux Programing  Neil Matthew,  Richard Stones
高级的有Advanced Programming in the UNIX Environment, W. Richard Stevens
涉及网络的话,讲协议的有:
TCP/IP Illustrated, Volume 1: The Protocols,
TCP/IP Illustrated, Volume 2: The Implementation,
TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols,
编程的有
Unix Network Programming vol1, vol2.
以上是我个人的意见,欢迎大家补充或提意见.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表