请问一下各位: int a; a=1;和int a=1;他们有区别吗,都是什么意思啊。。谢谢

 我来答
猪头或火宝宝
推荐于2017-11-23 · TA获得超过2758个赞
知道小有建树答主
回答量:1001
采纳率:0%
帮助的人:1530万
展开全部
你好!!!

int a; a=1;和int a=1;从一般的角度来看是一样的:即我们使用的是变量的值即a的值1
但是要是从运行的时间来看是不一样的:int a; a=1;表示首先我们声明一个整型的变量a,并没有分配空间,只是告诉编译器变量的标识符和变量的类型,此时要是我们用a的值会是一个随机数,a=1;此时系统会在栈了给变量分配内存,并把值1放到内存中。此时变量分配的空间是在运行时才分配的!!!!

int a=1;表示就是定义,即声明时带初始值。此时不仅告诉编译器变量的标识符和变量的类型,还在编译时期就在栈分配了空间!!!

总结:int a; a=1;它是在运行是得到内存空间的,int a=1;其实在编译时期就得到内存的。

要是楼主不理解c/c++中内存分配的问题就到百度上看看相关的文章!!!

不理解我们再交流!!!
匿名用户
2010-08-22
展开全部
基本一样,第一个是先申明,后赋值,第二个是申明与赋值同时进行,一般数年之后的人,都惯用第二种方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Hacker海洋
2010-08-22 · TA获得超过121个赞
知道答主
回答量:124
采纳率:0%
帮助的人:76.1万
展开全部
效果是一样的,如果有多个变量要赋值的话就用第一种
比如,int a,b,c;
a=1;
b=2;
c=3;
用第二种容易错,比如,
int a,b,c=3

看起来好像是a、b、c都等于3,实际上只有c等于3而已

我是C++初学者,QQ1032464096,有兴趣的话加我一起讨论吧:)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
随便改一个应该没问题
2018-03-11
知道答主
回答量:3
采纳率:0%
帮助的人:2150
展开全部

int a; a=1;表示首先我们声明一个整型的变量a,

int a;表示定义一个整型变量,不是声明。extern int a;才是声明

不信你可以在任意C++编译器 连着两行int a; 你看看他会提示什么。

补充完整以符合题意: 

int a;//定义一个整型变量a,并分配随机值(可以Debug查看,没初始化都是这个:-858993460) 

a = 1; //给变量a赋值

int a = 1; //定义变量a并赋初值为1;

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式