问题求助,希望各位朋友不吝赐教!!

papaofdoudou
新星创作者: 人工智能技术领域
领域专家: 嵌入式与硬件开发技术领域
2008-11-12 01:00:40
在一个函数开始声明变量,请问这两种方式有什么区别!
int a=1;和int a; a=1;
感觉没有多少区别阿,可是为什么有的书上说区别很大呢,书中讲的比较隐晦,不好理解,希望各位大虾帮忙解答下;

还有为什么goto 语句可以跳过第二种声明,却不能跳过第一种声明呢?书上说
goto next;
int a=1;
````````
```````
next:
`````
错误;

goto next;
int a;
a=1;

````````
```````
next:
`````
却是正确的;如何理解?
...全文
72 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
user_csc 2008-11-12
  • 打赏
  • 举报
回复
正确理解初始化和赋值的区别,在C++中应该特别注意
Longinc 2008-11-12
  • 打赏
  • 举报
回复
1.定义时并显试初始化。
2.a=1; 赋值操作是在运行操作的。goto语句跳不过
http://topic.csdn.net/t/20050812/23/4206309.html
macfan 2008-11-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 tugouxp 的帖子:]
在一个函数开始声明变量,请问这两种方式有什么区别!
int a=1;和int a; a=1;
感觉没有多少区别阿,可是为什么有的书上说区别很大呢,书中讲的比较隐晦,不好理解,希望各位大虾帮忙解答下;

还有为什么goto 语句可以跳过第二种声明,却不能跳过第一种声明呢?书上说
goto next;
int a=1;
````````
```````
next:
`````
错误;

goto next;
int a;
a=1;
````````
```````
next:
`````
却是正确…
[/Quote]
第一个问题,两种定义方法都差不多,变量无论何时都可以赋值。
第二个问题,LZ还是不要钻研了,C/C++应该避免用GOTO
mujiok2003 2008-11-12
  • 打赏
  • 举报
回复
提法有点问题.
"int a = 1;"和"int a;"这两句都是定义,不是声明,区别在于第一句a用1初始化,第二句用一个随机值初始化
声明语句是这样的:extern int a;

phisherr 2008-11-12
  • 打赏
  • 举报
回复
int a=1;和int a; a=1;

前一个是直接用1进行初始化的,
后一个创建后用1去赋值;
对int好像没有什么区别,你去看看汇编吧

第二个问题,等待高手来解答
phisherr 2008-11-12
  • 打赏
  • 举报
回复
int a=1;和int a; a=1;

前一个是直接用1进行初始化的,
后一个创建后用1去赋值;
对int好像没有什么区别,你去看看汇编吧

第二个问题,等待高手来解答

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧