hyfm.net
当前位置:首页 >> C语言中声明和定义详解 >>

C语言中声明和定义详解

声明是引入标识符和标识符的类型(类型可以是整形,函数,浮点型等).声明也可理解为是让编译器知道有这么个标识符,方便以后引用.如下面这些声明语句:extern int i; extern double d; extern int foo(int, int); double f(int, double); // 函数声

声明和定义的区别是 声明不为变量分配空间,而定义为变量分配空间 因此同一个变量的声明可以出现多次,而只能定义一次.看到很多人乱回答我很气愤!

定义就是给其赋予值或内容声明就是在运用前告诉计算机它的存在.先声明后定义.如变量:int i;.这就是声明 再接着在下面写:i=5;..这就是定义 或者 函数:int fun();.声明(一般写在头文件里) int fun() {int i=5;.return 0;}定义(写在源文件里)

struct student stu ; 这里是声明了一个结构体类型的变量 void print ( struct student ) ; 是函数声明,声明时可以不用具体的变量,只需要类型就行了 比如 int add(int ,int); 声明 int add(int a,int b) { return a+b; } 如果函数是放在前面 就不用函数的声明 了

声明只是一个空壳,不会有具体的函数实现,而定义要实现函数的实现,例如:函数声明int atoi(char para);函数实现:int atoi(char para){ int result; result=para-38; return result;}//这里函数实现就要有实际的函数定义了

C语言中,无论是常量,变量,只有先定义才能使用.函数声明,为了减少函数的混淆,所以要有个函数名,即声明.函数定义是系统要求的,不定义就错误,而函数声明实际上不定义也行,但为了方便和减少错误,人为规定要声明.

声明和定义差不多,比如,声明一个变量,和定义一个变量,初始化就是将该变量赋初始值,比如int a = 0; 声明了一个int 类型的变量,变量名是a,初始值为0,给变量初始化很重要,因为该变量所在的内存可以已经有一个值了,不初始化,改变量可能是个垃圾值,对后面的计算有影响

这是一个函数的声明.函数名是x,第一参数是int,第二参数和x的返回值都是一个函数指针,这个函数指针返回值是void,单参数int.类似以下写法:typedef void (*MyFunctionType)(int);MyFunctionType x(int, MyFunctionType);

struct student stu ; 定义了一个student类型的结构体stu. void add(int,int);这样声明可以不加参数名称,只要有参数类型就可以了. 如果有实现(就是有大括号)就要加名称,大括号中使用嘛.

变量定义:用于为变量分配存储空间,还可为变量指定初始值.程序中,变量有且仅有一个定义.变量声明:用于向程序表明变量的类型和名字.区别:定义也是声明,extern声明不是定义.定义分配存储空间,而声明不会.通过使用extern关

网站首页 | 网站地图
All rights reserved Powered by www.hyfm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com