微信网站跳转链接怎么做,筑龙建筑网官网,深圳网络营销推广公司哪家好,种子搜索在线 引擎从五个点来说
1.p3.h 中 静态定义一个const的int 变量并且赋值
2.p5.h 声明函数test2的定义
3. 直接extern 引用声明 test1() 函数 而不是像p5.h一样 把函数声明写到头文件 在别的.c文件直接包含头文件 第二点和第三点 是引用声明函数的两种用法
4.main函数 中static静态定… 从五个点来说
1.p3.h 中 静态定义一个const的int 变量并且赋值
2.p5.h 声明函数test2的定义
3. 直接extern 引用声明 test1() 函数 而不是像p5.h一样 把函数声明写到头文件 在别的.c文件直接包含头文件 第二点和第三点 是引用声明函数的两种用法
4.main函数 中static静态定义一个const变量num然后在p1.c也是这样定义一个同名变量这个是为了说明内部链接在main函数中和p1.c中这两个变量num是分别存在内存中如果qt这样写就会报错
5.外部引用声明一个int的externnum变量而这个externnum的变量是在p2.c中声明并且定义为30的这个做法是和把变量写在头文件然后别的.c文件包含头文件去使用这个变量
p1.c p2. c
p3.h p4.c p5.h
a.out 一言以蔽之
函数 可以通过extern 和包含对应函数定义的头文件来使用它
变量可以通过extern 和包含对应变量定义的头文件来使用它
static const int num 10 一个.c文件 中这样写是内部链接是在这个.c文件自己独立给这个num分了内存其他的.c文件是不能访问到这个num的不会有报错(c primer plus书上346页 回去拍个照 贴上来)
这样在qt里面写也是行的qt在.c文件(不是.h文件) 写static const int num 10是整个程序这给这个num开一个内存是也会给每个.c文件分属于这个num独立的内存的。 但是如果static const int num 10写在.h然后一个.c文件包含这个.h文件然后又在这个.c文件又定义一个static const int num 10就会报错说是重定义。(其实也是很好理解了包含了头文件就相当于引用声明了num再一次自己定义声明num就肯定会报重定义)