社区
C语言
帖子详情
各位大哥,关于C语言多次重新定义变量的问题?
1030486762567
2020-09-21 04:28:54
这里我两次重新定义 int*类型的Q变量,dev-C 报错,说不能重新定义。[/color]
[color=#000080]下图所示教学视频里的程序,两次定义 int*类型的p变量,不报错,这是为什么呢? 都是多次定义变量,我觉得下面的写法应该报错,但是却没报错……
我觉得应该改写成下面这样,这样不会报错,也好看。请各位老大哥,解释一下,小弟不胜感激,自学的我太慢了,模电,数电,单片机……以后做什么呢……
...全文
387
6
打赏
收藏
各位大哥,关于C语言多次重新定义变量的问题?
这里我两次重新定义 int*类型的Q变量,dev-C 报错,说不能重新定义。[/color] [color=#000080]下图所示教学视频里的程序,两次定义 int*类型的p变量,不报错,这是为什么呢? 都是多次定义变量,我觉得下面的写法应该报错,但是却没报错…… 我觉得应该改写成下面这样,这样不会报错,也好看。请各位老大哥,解释一下,小弟不胜感激,自学的我太慢了,模电,数电,单片机……以后做什么呢……
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
1030486762567
2020-09-22
打赏
举报
回复
C语言复合语句(语句块) C语言中文网推出辅导班啦,包括「C语言辅导班、C++辅导班、算法/数据结构辅导班」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践 + 永久学习。QQ在线,随时响应! 复合语句(compound statement)简称为语句块,它使用大括号把许多语句和声明组合到一起,形成单条语句。 { [声明和语句的列表] } 语句块与简单的语句不同,语句块不用分号当作结尾。当出现语法上某处需要一条语句,但程序却需要执行多条语句时,就可以用到语句块。例如,可以在 if 语句中使用语句块,或者当循环体需要执行多条语句时,也可以使用语句块: { double result = 0.0, x = 0.0; // 声明 static long status = 0; extern int limit; ++x; // 语句 if ( status == 0 ) { // 新语句块 int i = 0; while ( status == 0 && i < limit ) { /* ... */ } // 另一个语句块 } else { /* ... */ } // 第三个语句块 } 如果语句块内需要有声明,通常会把声明放在语句块的头部,在其他语句之前。然而,C99 并不强制这么做,允许将声明放在语句块内的任何地方。 在语句块内声明的名称将具有语句块作用域。换句话说,这些名称只有自声明点开始,一直到语句块结尾之前有效。在这个作用域内,这种声明会把在语句块以外声明的同名称对象隐藏起来。 同样地,动态变量的存储周期也被限制在语句块中它们生成的地方。这意味着,如果一个变量没有被声明为 static 或 extern,那么该变量的存储空间会在语句块结束之后自动被释放。
自信男孩
2020-09-21
打赏
举报
回复
因为p是在代码块里,作用域是代码块内可见;而Q的作用域是main函数可见,所以是重定义。
p在for循环里,在循环里是可见和使用没问题,出了代码块(循环)就不认识了。
lin5161678
2020-09-21
打赏
举报
回复
复合语句包起来的范围是 块作用域 两个p定义在不同的块作用域 这是合法的
qybao
2020-09-21
打赏
举报
回复
lz应该先找本入门级的书学习一下变量的作用域范围方面的知识
lin5161678
2020-09-21
打赏
举报
回复
这是一个作用域的问题 不同作用域相同符号表达不同实体 是允许的 把这句话套到你的代码里面 出现错误就是在一个作用域里面有定义了相同符号 没出现错误就是相同符号出现在不同作用域
ggglivw
2020-09-21
打赏
举报
回复
因为他在{} 里面,涉及到一个变量隐藏,局部变量重新定义会隐藏开头的那个变量。你两个变量同一个区域,没法隐藏,所以报错
C语言
定义
变量
用什么字母,
C语言
中
变量
名有什么要求
C语言
中,什么是
变量
和
变量
名?它们的区别是什么?...
导航:网站首页 >
C语言
中
变量
名有什么要求
C语言
中,什么是
变量
和
变量
名?它们的区别是什么?
C语言
中
变量
名有什么要求
C语言
中,什么是
变量
和
变量
名?它们的区别是什么?相关
问题
:匿名网友:1、严格采用阶梯层次组织程序代码:各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。要求相匹配的大括号在同一列,对继行则要求再缩进4格。例如:2、提示信息字符串的位置在程序中需要给出的提...
C语言
定义
变量
详解
前言: 在我们上一次C的 printf函数和注释方法的解说中,我们了解了printf函数中第一
变量
和第二
变量
的类型必须一致,那今天我就带大家了深入解一下
C语言
中的
变量
。 一、
定义
变量
在
C语言
中,
变量
只有先被
定义
后才可以使用,我们一般
定义
变量
的方法有两种,分别分为:先
定义
后赋值法、同时使用赋值法; 1.先
定义
后赋值法 #include <stdio.h> int main() { int a; //
定义
整数
变量
a a = 2...
“
C语言
连续
定义
变量
注意事项详解“
在连续
定义
多个
变量
时,
定义
的先后顺序应该从左到右。如果存在
变量
依赖,需要先
定义
依赖的
变量
后
定义
被依赖的
变量
。例如,代码中,由于
变量
d依赖于
变量
b的值,所以先
定义
b再
定义
d。在连续
定义
多个
变量
时,所有
变量
的类型必须相同。如果不同类型的
变量
出现在了同一语句中,会导致编译错误。例如,就是一条错误的
定义
语句。在
C语言
中,
变量
还有一个初始值的概念,如果要为某个
变量
赋予初始值,可以使用赋值运算符()来实现。以上就是连续
定义
变量
注意事项的详解。
C语言
变量
的
定义
包括
变量
存储类型和
变量
的什么?
C语言
变量
的
定义
包括
变量
存储类型和
变量
的名称。
C语言
定义
变量
的格式:“数据类型
变量
名;”,“数据类型”表示想要存储什么类型的数据,“
变量
名”就是你想给这个
变量
起个什么名字,通常都是用字母...
C语言
中
变量
的声明和
定义
变量
声明和
变量
定义
变量
定义
:用于为
变量
分配存储空间,还可为
变量
指定初始值。程序中,
变量
有且仅有一个
定义
。
变量
声明:用于向程序表明
变量
的类型和名字。
定义
也是声明,extern声明不是
定义
定义
也是声明:当
定义
变量
时我们声明了它的类型和名字。extern声明不是
定义
:通过使用extern关键字声明
变量
名而不
定义
它。 [注意]
变量
在使用前就要被
定义
或者声明。 在一个程序中,
变量
只能
定义
一次,却可以声明多...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章