能力值:
( LV2,RANK:10 )
|
-
-
51 楼
我觉得有必要区分变量(函数等)的定义和申明
我的理解是:
编译器根据变量的定义给变量分配存储空间,根据变量的申明知道该变量的类型(知道如何使用该变量)
当然变量的定义同时起到申明的作用,很多时候申明和定义是合二为一的
C语言规定必须先申明后使用,否则不知该变量(函数等)为何物,无法生成相应代码
C语言的编译单元是单个C文件,只要该文件中的变量被申明了就可以使用,可以被成功编译,但是如果该该变量的定义在所有C文件中没有出现,link就不会成功。
如:
int a;//这是一个变量的定义,同时在他的可见范围内也起到了申明的作用
extern int x;//这是一个变量的申明,如果没有该变量的定义,在link的时候会报错失败。
int foo()//这是一个函数的定义,同时在他的可见范围内也起到了申明的作用
{
return 0;
}
int foo();//这是一个函数的申明
|
能力值:
( LV2,RANK:10 )
|
-
-
52 楼
(⊙o⊙)…看了一遍,可惜做题的时候用到的指针指示并不多。
|
能力值:
( LV2,RANK:10 )
|
-
-
53 楼
先关注一下先,下次在来慢满研究
|
能力值:
( LV2,RANK:10 )
|
-
-
54 楼
本版除了这个全是精华帖。。。我潜水多年,今天突然想来看看,有64位的资料了没有,一直没有时间看。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
55 楼
好长,楼主辛苦了。
|
能力值:
( LV2,RANK:10 )
|
-
-
56 楼
不错的啊,呵呵!
|
能力值:
( LV2,RANK:10 )
|
-
-
57 楼
很详细,感谢~~~
|
能力值:
( LV2,RANK:10 )
|
-
-
58 楼
学习了!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
59 楼
受益匪浅,谢谢了。
|
能力值:
( LV2,RANK:10 )
|
-
-
60 楼
謝謝lz分享
|
能力值:
( LV2,RANK:10 )
|
-
-
61 楼
感谢分享,本菜鸟学习了
|
能力值:
( LV2,RANK:10 )
|
-
-
62 楼
楼主辛苦了。 怎么不做成课件
|
能力值:
( LV4,RANK:50 )
|
-
-
63 楼
顶~~~lz,V5
|
能力值:
( LV2,RANK:10 )
|
-
-
64 楼
好贴 mark一下
|
能力值:
( LV2,RANK:10 )
|
-
-
65 楼
写的不错,是复习c语言的好文章,讲的深入浅出
|
能力值:
( LV2,RANK:10 )
|
-
-
66 楼
深受启发,谢谢咯
|
能力值:
( LV2,RANK:10 )
|
-
-
67 楼
保留下来,往后再复习。
|
能力值:
( LV2,RANK:10 )
|
-
-
68 楼
再复习复习!
|
能力值:
( LV2,RANK:10 )
|
-
-
69 楼
来学习了哈啊哈哈,谢谢,楼主分享
|
能力值:
( LV2,RANK:10 )
|
-
-
70 楼
感谢了,有学到东西。
|
能力值:
( LV2,RANK:10 )
|
-
-
71 楼
啊啊,复习复习
|
能力值:
( LV2,RANK:10 )
|
-
-
72 楼
做个标记 回头再看
|
能力值:
( LV2,RANK:10 )
|
-
-
73 楼
楼主牛人啊!向楼主学习!再学习!
|
能力值:
( LV2,RANK:10 )
|
-
-
74 楼
正在学C
|
能力值:
( LV2,RANK:10 )
|
-
-
75 楼
感谢楼主分享!
|
|
|