在C语言中,什么是声明、定义、初始化?有什么区别
发布网友
发布时间:2022-05-30 07:18
我来回答
共4个回答
热心网友
时间:2023-10-14 11:05
声明和定义差不多,比如,声明一个变量,和定义一个变量,初始化就是将该变量赋初始值,比如int a = 0; 声明了一个int 类型的变量,变量名是a,初始值为0,给变量初始化很重要,因为该变量所在的内存可以已经有一个值了,不初始化,改变量可能是个垃圾值,对后面的计算有影响
热心网友
时间:2023-10-14 11:06
声明和定义的意思差不多。比如:int a;
初始化就是给某个对象赋初值,比如:a=10;追问什么是声明、定义、初始化?这是三个不同的概念,我想很好的区分下他们,最好举例说明下,谢谢
追答#include
main() {
int a; //声明或定义int(整型)变量a
a=10; //初始化a,给a赋值10
}
热心网友
时间:2023-10-14 11:06
函数和变量都有声明和定义,
对变量而言:在同一个文件中声明和定义没区别;
在多个文件中才有区别(比如说在a.c文件中先定义了一个int num;我在b.c中要访问这个num,这时我们需要在b.c这个文件中声明一下);
变量定义:(1)分配空间
(2)只能定义一次
变量声明:(1)不分配空间
(2)可多次声明
注意:定义是一种特殊的声明.
变量初始化:在定义的同时赋值;(注意,定义之后,再去赋值不叫初始化)
热心网友
时间:2023-10-14 11:07
声明不分配地址空间,定义分配,直接代码举例:
#include <stdio.h>
extern int i ;
int main()
{
printf(" %d \n", i);
return 0;
}
编译
gcc -o example example.c 是无法通过的。
通过显式使用关键字extern, 表明是让编译器从其他地方查找变量i的定义。
而定义就是直接写:
int i; //OK ,没问题。
通常而言,定义也包括了声明,但声明不包括定义。
初始化,如果这个词用在这里,这个就简单了,就是赋个初值呗。
int i = 10; //初始化i的值为10.