一(1).初始化和赋值不都是往内存里存东西吗,不同在哪里?
(2).是不是第一次往内存里存东西就叫初始化?那么下面的语句是初始化还是赋值?
int a;
a=1024;
二(1).为什么在main函数里这样定义extern int x=12;会提示“不能对带有块范围的的变量进行初始化”?什么叫带有块范围? (2).c++primer 50页不是说非const变量默认为extern吗?那么我加上extern有什么错?
int main()
{
extern int x=12;
}
11 个解决方案
#1
这句 int a;只是定义 并不是初始化 int a = 0; 这才是初始化, 顾名思义 就是初次使用为该变量赋值。
而a = 1024; 就是赋值。
extern 关键字,外部引用,extern int x;声明引用外部变量x,当你要引用一个全局变量的时候,你就要声明extern int x;这时候extern不能省略,因为省略了,就变成int x;这是一个定义,不是声明。
#2
int a;定义 a的值不定
int a = 0;初始化
a = 100; 赋值
int a = 0;初始化
a = 100; 赋值
#3
初始化就是在声明(定义)一个变量的时候进行的,如int nA = 1,这个就是对nA进行初始化
赋值是在程序运行的过程中在这个变量的作用域都可以进行,
int nA;
nA = 0;
这里是对nA赋值
extern是应用外部变量,如在a.c文件中定义了变量A,在b.c中也要用到A,则要在b.c中使用extern A;来应用它
赋值是在程序运行的过程中在这个变量的作用域都可以进行,
int nA;
nA = 0;
这里是对nA赋值
extern是应用外部变量,如在a.c文件中定义了变量A,在b.c中也要用到A,则要在b.c中使用extern A;来应用它
#4
Up!
#5
extern 声明引用外部变量 extern in x是声明引用外部变量x,不给x分配内存空间,只是一个名字;而int x是定义x,给x分配内存空间
#6
楼上都说得很好了
#7
楼上大家的表述很清楚,申请的时候就写入值的就是初始化,如:int a=100; 。申请的那个语句完了,另起的语句给变量写入的值就是赋值,如:int a; a=100; 这是两个语句。
extern 表示的是引用外部申请的变量,如果不是外部申请的变量,不能随便用extern。当然在C++中还可以引用 C 的编译方式,这样也可以用extern “C” 。
extern 表示的是引用外部申请的变量,如果不是外部申请的变量,不能随便用extern。当然在C++中还可以引用 C 的编译方式,这样也可以用extern “C” 。
#8
LS都说了,学习一下。
#9
楼主该结贴了
#10
讲的很清楚了
#11
谢谢大家了,我也明白了
#1
这句 int a;只是定义 并不是初始化 int a = 0; 这才是初始化, 顾名思义 就是初次使用为该变量赋值。
而a = 1024; 就是赋值。
extern 关键字,外部引用,extern int x;声明引用外部变量x,当你要引用一个全局变量的时候,你就要声明extern int x;这时候extern不能省略,因为省略了,就变成int x;这是一个定义,不是声明。
#2
int a;定义 a的值不定
int a = 0;初始化
a = 100; 赋值
int a = 0;初始化
a = 100; 赋值
#3
初始化就是在声明(定义)一个变量的时候进行的,如int nA = 1,这个就是对nA进行初始化
赋值是在程序运行的过程中在这个变量的作用域都可以进行,
int nA;
nA = 0;
这里是对nA赋值
extern是应用外部变量,如在a.c文件中定义了变量A,在b.c中也要用到A,则要在b.c中使用extern A;来应用它
赋值是在程序运行的过程中在这个变量的作用域都可以进行,
int nA;
nA = 0;
这里是对nA赋值
extern是应用外部变量,如在a.c文件中定义了变量A,在b.c中也要用到A,则要在b.c中使用extern A;来应用它
#4
Up!
#5
extern 声明引用外部变量 extern in x是声明引用外部变量x,不给x分配内存空间,只是一个名字;而int x是定义x,给x分配内存空间
#6
楼上都说得很好了
#7
楼上大家的表述很清楚,申请的时候就写入值的就是初始化,如:int a=100; 。申请的那个语句完了,另起的语句给变量写入的值就是赋值,如:int a; a=100; 这是两个语句。
extern 表示的是引用外部申请的变量,如果不是外部申请的变量,不能随便用extern。当然在C++中还可以引用 C 的编译方式,这样也可以用extern “C” 。
extern 表示的是引用外部申请的变量,如果不是外部申请的变量,不能随便用extern。当然在C++中还可以引用 C 的编译方式,这样也可以用extern “C” 。
#8
LS都说了,学习一下。
#9
楼主该结贴了
#10
讲的很清楚了
#11
谢谢大家了,我也明白了