社区
C++ 语言
帖子详情
C++中定义问题
pk373927011
2010-12-04 09:17:32
在C++中在FOR循环外定义和在内定义的区别?
...全文
148
16
打赏
收藏
C++中定义问题
在C++中在FOR循环外定义和在内定义的区别?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
igzhenjie
2010-12-05
打赏
举报
回复
我明白楼主的意思,
我是一个变量的有效域的问题,
1.在FOR内的定义,在FOR中(就是for(..;..;..){}两个大括号中)有效,在FOR外,就不承认这定义(这是通俗的说法,真正意义上是:出了这个FOR就释放了这个定义的变量的内存空间了)
2.在FOR外的定义,这时在定义所在的整个域中(定义所在的{...})都是被承认的(用LZ的理解就是在FOR中被承认,在FOR外,还是被承认,就是说在FOR中这个定义的变量,发生了变化之类的,在FOR外就是它变化了的值)(就是说在整个{...}中,它的整个内存空间都没有被释放)。
Binzo
2010-12-05
打赏
举报
回复
main(){
int i;
for(...){
int j;
}
}
i对main和for的{}有效,j只对for的{}有效。
初学编程,要注意少用像i的大变量。
for也不好,用while 吧。
xspace_time
2010-12-05
打赏
举报
回复
在for内,是这样吗for(int static i=0;i=i;i++){}
在for外,是这样吗int stctic i=0;for(i=0;i=i;i++){}
都是一样的
effortcpp
2010-12-05
打赏
举报
回复
百度一下作用域,楼主就明白了
goodmba
2010-12-05
打赏
举报
回复
在效果上可以这样理解,在FOR循环外定义,在整个FOR循环中使用的都是这个变量最新的值, 这个变量只定义了一次。在FOR循环内定义,每循环一次就定义一次这个变量。
实际上,由于一些底层的原因,在FOR循环内定义同样只为这个变量分配一次内存(定义一次),只是这个循环能保证每一次循环的时候都初始化这个变量。
一根烂笔头
2010-12-05
打赏
举报
回复
c++与Java都支持for(int i=0;;)这种格式,C语言不支持,而只能是int i;for(;;)。它们只是作用域的差别。int i;for(;;);for(;;);那么i既可以用在第一个for循环中也可以用在第二个for循环中。如果是
for(int i=0;;);for(;;);那么i就不能用在第二个for循环中,也就是说:for(int i=0;;);for(int i=0;;);这样用也是对的,因为这里的i都是只作用在它所在的for循环中。
如果不明白,你可以完全不用计较这些东西,好像用两种方法做同一件事一样。因人的程序风格而选择自己喜欢的格式即可!
xi2002cn2003
2010-12-04
打赏
举报
回复
int a,b;
for()
{
int i,j
for
{
i=a;
j=b;
}
}
里边的变量名不重名即可
cyf31
2010-12-04
打赏
举报
回复
主要是作用范围的不同
就想叫yoko
2010-12-04
打赏
举报
回复
是指那个循环变量i吗
这个好像跟编译器或者C/C++也有不同
有的时候是在for里面定义的i他的作用域只在for里面起作用
这个没关系的,你写程序的时候如果出现重定义编译器报错你再解决就好了
例如第二个for里面就不写i声明直接用或者用另一个循环变量j也行
sea_spray
2010-12-04
打赏
举报
回复
内定义的变量只能在循环中使用,外定义的变量也能在循环中使用,但是外部定义的变量在循环内部使用时就要求不能在循环内部定义相同的变量名。只要是能分清你定义的变量使用的范围就OK了。
dingshaofengbinbin
2010-12-04
打赏
举报
回复
说明白点,说不明白,就贴点代码!!
na2650945
2010-12-04
打赏
举报
回复
...
查看作用域的解释。
Dstnoe
2010-12-04
打赏
举报
回复
for(int i=0;i<10;i++)
{
// code...
}
还是
int i=0;
for(;i<10;i++)
{
//code ...
}
这是变量问题。
在内定义 是局部变量,会覆盖在外定义的变量。
luciferisnotsatan
2010-12-04
打赏
举报
回复
啥意思?
for(...)
{
int b; //这个b只在for循环里有效。你是要问这个?
}
yiruirui0507
2010-12-04
打赏
举报
回复
外定义和在内定义?楼主的意思是双重循环?那个放外面那个放里面吗?还是什么。。。
dubiousway
2010-12-04
打赏
举报
回复
外定义和在内定义? 什么意思
C~
C++
程序员实用大全
C~
C++
程序员实用大全――C~
C++
最佳编程指南
C++
之重
定义
问题
1、
问题
描述 如果
定义
了头文件A.h,B.h和源文件C.cpp。如果我们在A.h
中
写上一个函数,在B.h
中
include A.h,然后再在C.cpp
中
include A.h和B.h,这样我们就会出现重复
定义
的
问题
。 2、解决方法 重
定义
问题
的原因往往是头文件的重复包含,常规解决方法如下: 条件编译 该方法的原理是在当编译器遇到第2(3,....)遍同样的头文件时,因为已经编译了一...
C++
宏
定义
函数
C++
宏
定义
函数 宏允许带有参数,参数包含形参和实参,在宏
定义
中
的参数称为形式参数,在宏调用
中
的参数称为实际参数,无参宏的宏名后不带参数,其
定义
的一般形式为: #define 标识符 字符串; 例如#define m a*b; 其
中
ab的值就是m,在主函数
中
m就是调用ab; 带参宏
定义
的一般形式: #define 宏名(参数表) 字符串; 在字符串
中
含有各个形参。 带参宏调用的一般形式...
C++
struct里
定义
函数
在做一个小的程序题的时候,看到了struct
中
定义
了函数,之前没有看到过,所以查了一点相关的知识,在这里记录一下:
c++
中
允许在结构体当
中
定义
函数,它的用法和类的用法很像,不过与类有一个区别在于,struct
中
定义
的函数和变量都是默认为public的,但class
中
的则是默认为private。#include #include struct Person { Person(std::st
C++
基础教程之如何
定义
数字
C++
数字 通常,当我们需要用到数字时,我们会使用原始的数据类型,如 int、short、long、float 和 double 等等。这些用于数字的数据类型,其可能的值和数值范围,我们已经在
C++
数据类型一章
中
讨论过。
C++
定义
数字 我们已经在之前章节的各种实例
中
定义
过数字。下面是一个
C++
中
定义
各种类型数字的综合实例: 实例 #include <iostream> using namespace std; int main () { // 数字
定义
short
C++ 语言
65,183
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章