
C++变量的初始化的值是什么意思啊?
比如说:inta=5;与inta;那个5有什么意思啊?赋值又是什么意思?有什么区别啊?最好说详细点。...
比如说:
int a=5;
与
int a;
那个5有什么意思啊?赋值又是什么意思?有什么区别啊?最好说详细点。 展开
int a=5;
与
int a;
那个5有什么意思啊?赋值又是什么意思?有什么区别啊?最好说详细点。 展开
7个回答
推荐于2017-09-28
展开全部
C++变量的初始化的值就是默认值;
当定义没有初始化式的变量(如int i;)时,系统有可能会为进行隐式的初始化。至于系统是否隐式初始化变量,以及为变量赋予一个怎样的初始值,这要取决于该变量的类型以及我们在何处定义的该变量。
下面是对于成员变量初始化的总结,在g++下测试过:
#include <iostream>
using namespace std;
class TestVar{
public:
TestVar():b(2), e(a){
a = 1;
cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<" "<<f<<" "<<h<<endl;
}
private:
//int a = 0;//error: ISO C++ forbids initialization of member ‘a’
int a;//初始化可以在构造函数里面,也可以在初始化列表
//const int b = 0;//error: ISO C++ forbids initialization of member ‘a’
const int b;//常量的正确初始化应该使用[构造函数的初始化列表]
int &e;//引用类型变量,和常量一样只能在[构造函数的初始化列表],参数是同类型变量
//static int c = 0;//ISO C++ forbids in-class initialization of non-const static member ‘c’
static int c;
static const int d = 4;//注意只有整型数据才行[int.., char]
static const char f = 'a';//可以,char也是整型数据
static const double h = 9.9;//
};
int TestVar::c = 3;//静态成员的正确初始化方法
int main(){
TestVar t;
return 0;
}
当定义没有初始化式的变量(如int i;)时,系统有可能会为进行隐式的初始化。至于系统是否隐式初始化变量,以及为变量赋予一个怎样的初始值,这要取决于该变量的类型以及我们在何处定义的该变量。
下面是对于成员变量初始化的总结,在g++下测试过:
#include <iostream>
using namespace std;
class TestVar{
public:
TestVar():b(2), e(a){
a = 1;
cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<" "<<f<<" "<<h<<endl;
}
private:
//int a = 0;//error: ISO C++ forbids initialization of member ‘a’
int a;//初始化可以在构造函数里面,也可以在初始化列表
//const int b = 0;//error: ISO C++ forbids initialization of member ‘a’
const int b;//常量的正确初始化应该使用[构造函数的初始化列表]
int &e;//引用类型变量,和常量一样只能在[构造函数的初始化列表],参数是同类型变量
//static int c = 0;//ISO C++ forbids in-class initialization of non-const static member ‘c’
static int c;
static const int d = 4;//注意只有整型数据才行[int.., char]
static const char f = 'a';//可以,char也是整型数据
static const double h = 9.9;//
};
int TestVar::c = 3;//静态成员的正确初始化方法
int main(){
TestVar t;
return 0;
}
展开全部
首先记住一点cpu只能读写内存
内存想象成一个方格纸
int a就是在内存中申请2个字节的空间
5就是cpu从外部将数值5读写到内存中去,将5赋给2个字节空间中去
内存想象成一个方格纸
int a就是在内存中申请2个字节的空间
5就是cpu从外部将数值5读写到内存中去,将5赋给2个字节空间中去
追问
赋值是随遍哪个数都可以么?还是有要求?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
初始化就是赋初值
这个5就赋初值..
第二个问题 .大哥...这是基本中的基本。。。随便找本程序书翻个几页你就知道啥意思了
区别。没赋值的变量不能拿来用。只有赋值以后才能用
这个5就赋初值..
第二个问题 .大哥...这是基本中的基本。。。随便找本程序书翻个几页你就知道啥意思了
区别。没赋值的变量不能拿来用。只有赋值以后才能用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a=5表示申明了一个变量a,类型为int,并且为这个变量a赋值,值是5,那么以后在使用这个变量的时候就可以等到数值5.
int a;表示申请一个变量,类型 为int,但是没有赋值,这个变量是没有值的。如果以后要使用这个变量,就会出现无值的情况。
int a;表示申请一个变量,类型 为int,但是没有赋值,这个变量是没有值的。如果以后要使用这个变量,就会出现无值的情况。
追问
头还是好晕。。。。比如int a=5与int a=6 这两个赋值不同 又会有什么区别
那个“等到数值5”是什么意思?
追答
int a=5与int a=6的区别就是
int a=5;表示让变量a的值等于 5;这个时候a+1等于多少呢?就是等于6
int a=6;表示让变量a的值等于6;这个时候a+1等于多少呢?就是等于7
这下明白了吗?
赋值就是将一个值赋予一个变量;
int型的变量只能被赋予int型的值。
比如变量 b是int(整型)那么只能将-1,0,1,2,3,4,......赋予b。不能将a,b,c这些字母赋予b。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a;a的值不确定,int a=5;a的值是5。
初始化是为了更加明确a的值。
初始化是为了更加明确a的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询