求一详细介绍 ARM开发中 C语言编程的语法和声明的书 最好有程序示例
1个回答
展开全部
这个 其实你看看K&R就行,以前学过C或C++,甚至java,就没有多难。ARM中的C有可能更加规范,属于早期排版,现行的很多排版的C,如VC unix/linux下的C有可能都有自个的特色。你可以试着摸索,但你平常只要主要你的编程风格,就应该没事。我给几点建议:
1. 因为C语言编译时,是以*.c文件为单位,编译成可重定位的object文件(二进制),然后将这些object文件和必要的库文件链接成executable,*.c文件之间有可能共享全局变量。全局变量的声明或定义的位置不妥,有可能会造成链接的错误。因此,我建议你,将所有的声明部分放在.*h文件中,定义部分放在.*c文件中,这样不会犯错。
2. 可能C语言中,要求将局部变量放在函数的体的开始位置,而去不允许初始化,很多从C++上转过来的人一般是使用局部变量是随手定义,而C++中鼓励变量在定义之初初始化,切忌,这是和C语言(老版)不同之处。
3. main函数可能要求必须返回int,不支持void型。
4. 没有bool型数据类型,你如果使用的话,用宏定义,或typedef
5.不支持函数重载或运算符重载。
6.结构中不支持成员函数。
7.主要int和long型的字节数。
估计就是这些问题,反正你记住,这种C语言一般很规整。
1. 因为C语言编译时,是以*.c文件为单位,编译成可重定位的object文件(二进制),然后将这些object文件和必要的库文件链接成executable,*.c文件之间有可能共享全局变量。全局变量的声明或定义的位置不妥,有可能会造成链接的错误。因此,我建议你,将所有的声明部分放在.*h文件中,定义部分放在.*c文件中,这样不会犯错。
2. 可能C语言中,要求将局部变量放在函数的体的开始位置,而去不允许初始化,很多从C++上转过来的人一般是使用局部变量是随手定义,而C++中鼓励变量在定义之初初始化,切忌,这是和C语言(老版)不同之处。
3. main函数可能要求必须返回int,不支持void型。
4. 没有bool型数据类型,你如果使用的话,用宏定义,或typedef
5.不支持函数重载或运算符重载。
6.结构中不支持成员函数。
7.主要int和long型的字节数。
估计就是这些问题,反正你记住,这种C语言一般很规整。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询