TPS28225 发表于 2015-2-10 20:39:21

问几个关于c语言的基本问题,求详细解答!

1,_static_inline是干啥的?是不是只能用在.h文件里面呀?另外在.c和.h文件里写源码有什么区别吗?
2,.h文件开头都有个‘
#ifndef _INCLUDE_H
#define _INCLUDE_H
####
#endif’
之类的这有什么用呀?还有为什么要大写呢?可以小写么?
3.unsigned long到底是多大的?在arm里面

wye11083 发表于 2015-2-10 20:52:16

1函数只在本文件有效2那个是防止文件被多次包含34字节

TPS28225 发表于 2015-2-10 21:53:11

wye11083 发表于 2015-2-10 20:52
1函数只在本文件有效2那个是防止文件被多次包含34字节

谢谢你!我大概明白了。

sbusr 发表于 2015-2-10 21:58:08

1、带下划线的可能是开发环境定义的宏,_static可能是定义变量或函数的作用范围的,_inline请查看内联函数相关说明。
2、防止头文件被重复包含。一个头文件可能被多个其它的文件包含,这样在这个头文件里定义或声明的内容会被重复定义或声明。
加了#ifdef后,在第二次被包含以后,编译器发现这个宏已经被定义过了,就不会将军#ifdef到#endif之间的内容加到相应的文件前面了。
有关#ifdef的说明,请查看C语言书里有关预处理器的内容。宏的定义一般都全用大写加下划线,当然也可以小写。
3、unsigned long是32位的,即4字节。记得是与MCU和开发环境无关的,是语言定义的。不过还是找找C语言的书,以书上为准。

子鱼 发表于 2015-2-10 22:06:00

楼上两位解释的很清楚呢

_static_inline可以用在.h和.c文件里面,h文件是引用 c文件是定义

Juggernaut 发表于 2015-2-11 19:57:33

_static_inline用来防止文件外调用

deny 发表于 2015-2-11 20:09:56

推荐一本书,C prime plus

holts2 发表于 2015-2-12 07:53:46

看书哦补下

mcucow 发表于 2015-2-12 08:53:26

写代码就像写书一样
有目录,目录里能体现章节 章节有具体的文字描述 这样看的有条理
页: [1]
查看完整版本: 问几个关于c语言的基本问题,求详细解答!