- 韦斯特兰
-
局部变量:在一个函数内部定义的变量就是局部变量。
作用范围:只局限在定义它的本函数体之内,即只有在该函数体内才能使用该变量,而在此函数之外是不能使用它们的。
由于在不同函数体内定义的变量只在它所在的函数体内部有效,所以,不同函数体中可以定义相同名字的变量,但它们代表不同的对象,互不干扰。它们在内存中占用不同的内存单元。
函数的形参也是该函数的局部变量,其他函数不能调用。
全局变量:一个源程序文件可以包含一个或若干个函数。在所有函数体外部定义的变量为全局变量(或外部变量),全局变量可以被本文件中其他所有的函数调用(使用)。
有效作用范围:从定义该变量的位置开始到本程序文件的结束。
***在同一个文件中,若全局变量和局部变量同名,则在局部变量的作用范围内,全局变量不起作用。
见下图:
- u投在线
-
#include
<iostream.h>
int
a,b;
void
fun(int
a)
{
static
int
c;
b+=a;
c+=a+b;
cout<<a<<b<<c<<endl;
}
void
main()
{
int
a=5,b=7;
fun(a);
//调用这个函数知输出
5
5
10
这里的参数a使用了局部变量的副本,函数里的b使用了全道局变量
就是内fun(5)==>
b+=5:b=0+5
c+=a+b:c=0+5+5
就是5
5
10
fun(b);
//这个输出
7
12
29
函数里的a使用了全局变量,参数b使用了局部变量的副本,而c是个静态变量,就接着上面的fun(a)的结果10继续容+a+b
就是fun(7)
==>b+=7:
b=5+7
c+=a+b
c=10+7+12
就是
7
12
29
}
C++基础教程-变量
二、变量程序处理的数据,一般是通过外部键盘输入,先要放到内存的不同单元里,这就是变量,下面我们来看一个练习;1、启动 Geany1)点菜单“应用程序-编程-Geany”启动 Geany ,新建一个 c++ 源程序;2)点菜单“文件-另存为”命令,以“bianliang”为文件名,保存文件到自己的文件夹;2、输入程序代码1)在下面的蓝色代码区域里,输入一行 int a;#include iostreamusing namespace std;int main(int argc, char** argv){int a;return 0;}2)这一行定义了一个变量 a,前面的 int 表示是一个存放整数的整型变量,字符型是 char,只能存一个字母,这句相当于你有了一个水杯,是小的还是大的,根据需要来买;2、给变量赋值1)接着按一下回车键到下一行,输入 a = 20;int a;a = 20;3)这一行是给变量 a 赋值,值最多能取多大要根据变量类型来定,相当于往杯子里倒水,最多装满一杯,再多就会溢出来;4)再到下一行,输入 couta; 显示一下 a 的值,相当于把杯子拿起来看看;int a;a = 20;couta;保存、编译、生成,运行一下,看看显示的结果;5)返回后继续输入下面的内容,重新给变量赋值,相当于又倒了一杯水;int a;a = 20;coutaendl;a = 6;couta;6)保存、编译、生成、运行后,这时 a 里存放的就是 6 了;7)总的来说,变量就像一个盒子,里面可以装东西,可以重复使用,但是后装的内容会覆盖前面的;定义和赋值可以一块儿进行,例如 int a = 20; 也是很好的;#include iostreamusing namespace std;int main(int argc, char** argv){int a;a = 20;coutaendl;a = 6;couta;return 0;}2023-06-09 15:05:151
c++定义变量?
头文件中没加 using namespace std;或者std::string id;std::string name;std::string tel;2023-06-09 15:05:243
c++定义变量类型
int整型,char字符型,double实型。一般这三个就够了。2023-06-09 15:05:336
C++中的变量是什么东西?
值可变的量2023-06-09 15:05:494
c++全局变量怎么定义
2023-06-09 15:05:591
c/c++如何判断变量的数据类型?
敢问你这个变量要怎么输入?2023-06-09 15:06:095
C++中定义变量有哪些方法?
首先说明变量的类型,然后是变量的名称,中间必须隔开,可以是空格,制表符,回车等,但必须隔开。最后加上分号表明语句结束。例如:charc;inta;doublet;等等都可以。2023-06-09 15:06:281
C++中有哪些类型的变量?
short、int、long和long long类型通过使用不同数目的位来存储值(关于位的概念自行了解),最多能够表示4中不同的整数宽度。C++提供了一种灵活的标准,它确保了最小长度(从C语言借鉴而来),如下:1. short 至少16位2. int 至少与 short 一样长3. long 至少 32 位,且至少与 int 一样长。具体区别如图:拓展资料:长整型是计算机程序语言,是程序设计中数据类型的一种表现方式,一般情况下用long 表示长整型。 long 有符号64位整数,范围是-2^63-2^63 -1 Int64。计算机中的一个基本的专业术语。整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)。是一种智能的计算方式。参考资料:新浪博客-原创2023-06-09 15:06:351
C++中如何定义变量
简单说:你要定义一个整形变量就是直接“类型 变量名;”就行。例如定一个叫做a的整形变量“int a;”详细说明: 在C++中,变量声明(declaration)只有在使用extern关键字时才成立,其他情况下都是定义(definition),而在使用extern的同时给变量赋初始值,则声明变为定义,extern关键字也将被编译器忽略。C++变量的作用域缺省情况下是全局的,也就是对多个源文件可见,比如说,如果在a.cpp和b.cpp中都有 int a;则编译器链接两个文件时会报告错误,“变量重复定义”。因此,要使变量定义只对该源文件可见,就要显式加上static关键字。因此,我们可以想到,如果在a.cpp中有 extern int a;而在b.cpp中有 static int a = 9;那么,编译器链接时会给出错误信息,“找不到a的定义”,因为a的定义在b.cpp并只对该文件可见,a.cpp找不到a的定义因此出错。 变量的声明和定义是比较容易混淆的概念,因此记住一点,除非有extern关键字,否则都是变量的定义。由此,我们可以归纳出几点好的程序设计风格: 1. 不要把变量定义放入.h文件,这样容易导致重复定义错误。 2. 尽量使用static关键字把变量定义限制于该源文件作用域内,除非该变量被设计成全局的。例外情况是const变量和typedef类型,在《The C++ Programming Language》9.2节中说到,const和typedef缺省作用域是局部的,因此不需要static来显式声明。因此,在.h文件中放置const变量定义不会产生问题,编译器会给每个引用该.h文件的源文件产生一份该const变量的局部定义,就像该变量是定义于该源文件中一样。大家也不用太担心编译器这么做会浪费空间,因为编译器优化过程一般会把有相同值的const变量进行合并。 对于static关键字,要多说几句的是,static一般有两种意思,当修饰函数定义里的变量或者类成员变量时,称作静态变量;修饰其他变量时,称作局部变量。为防止混淆,一般不要特意给局部变量加上static关键字。除了static关键字,namespace也可以使变量定义成为局部的。2023-06-09 15:07:041
C++的变量为什么定义是要赋值?
没人说c++定义变量的时候必须赋值,赋值只是为了代码的简洁既然是 int main()那么返回一切int的值都是可以的,没人规定一定只能返回02023-06-09 15:07:252
C++变量有哪些类型?
和C的差不多,就多了一个类(class).2023-06-09 15:07:3510
c++ 如何定义一个任何类型的变量? 定义之后又如何使用?
其实这个问题很好解决的,因为c++中有函数模板的,他的定义形式是:template<class type>或者是template<typename type>这样说你可能不太明白,咱们举个例子怎么用吧!比如说求两个数的大小:#include<iostream>using namespace std;template <class T>//定义一个类型为T 但是不确定是什么类型T max(T m1,T m2){return(m1>m2)?m1:m2;}void main(){ cout<<max<int>(2,5)<<" "<<max<double>(2.0,5.0)<<endl;//这里可以用什么类型都行}不知道是不是你想要的答案!希望可以帮助你!2023-06-09 15:07:591
c++变量、参数前加“*”什么意思?
变量前加*号,只有在变量为指针情况下才是百合法的。当*用于定义时,是标明该变量为指针类型。指针变量是存放一个变量地址的变量,不同于其他类型变量,它是专门用来存放内存地址的,也称为地址变量。定义指针变量的一般形式为:类型说明符*变量名。类型说明符表示指针变量所指向变量的数据类型;*表示这是一个指针变量;变量名表示定义的指针变量名,其值是一个地址,例如:char*p1;表示p1是一个指针变量,它的值是某个字符变量的地址。扩展资料:C语言中指 针初始化是指 给所定义的指 针变量赋初值。 指针变量在被创建后, 如果不被赋值, 他的缺省值是随机的 ,它的指向是不明确的, 这样的指针形象地称为“野指针”。野指针是很危险的, 容易造成程序出错, 且程序本身无法判断指针指向是否合法。指针变量初始化时避免野指针的方法: 可以在指针定义后, 赋值NULL空值。上面两行代码的含义是, 指针变量p被赋值为空。虽然定义了一个指针变量, 但是它并不指向任何存储空间。2023-06-09 15:08:081
c++中变量标识符命名规则
不能重名只能由字母、数字和下划线组成(注意是只能)数字不能开头2023-06-09 15:08:242
c++ 如何定义一个任何类型的变量? 定义之后又如何使用?
/*********************************用模板函数********************************/#include<iostream.h>template<typename T>T a; // T可以说任意类型T max(T a, Tb){ if(a>b) return a; else return b; }void main(){ cout<<max(1,4)<<endl;cout<<max(1.5,2.5)<<endl;}2023-06-09 15:08:342
c++中如何定义符号变量
这符号变量是啥意思?#defineM是宏定义,宏定义就是一个替换,大部分的时候C++都使用const定义常量。2023-06-09 15:08:413
C++中怎么定义多个变量
首先说明变量的类型,然后是变量的名称,中间必须隔开,可以是空格,制表符,回车等,但必须隔开。最后加上分号表明语句结束。例如:charc;inta;doublet;等等都可以。2023-06-09 15:08:502
C++中在头文件里定义的变量的作用范围是什么?
声明新的类型名来代替原有的类型名比如,typedef int INTERGER; 或 typedef float REAL;相当于用INTERGER来代表int类型,用REAL来代表float习惯上把用typedef声明的类型用大写字母表示2023-06-09 15:09:186
c++代码变量前面加个^是什么意思
怎么会把这当成c++代码,这一点都不像c++代码啊……2023-06-09 15:09:353
C++字符变量char ch=‘b’ 和char ch=97这两个怎么理解?区别是?
char ch="b" 是常规的将字符b赋值给字符变量ch了。char ch=97 是将字符对应的ASCII码值赋值给了字符变量ch,此处如果输出ch的值的话,结果为a。这是对字符变量的两种赋值方式,可以给字符变量直接赋值字符本身,如ch="b",也可以给字符变量赋值字符对应的ASCII值,如ch=98,效果是一样的(直接输出均为字符b),只是表现不一样罢了。2023-06-09 15:09:431
c++ 指针变量p 那!p是什么意思
非p2023-06-09 15:09:517
C++怎么定义字符串变量
与c语言相同:charstr[256];或者使用字符串类:Stringstr;可以百度这个类,看能怎么用。2023-06-09 15:10:232
c++中如何定义符号变量
这符号变量是啥意思?#define M 是宏定义,宏定义就是一个替换,大部分的时候C++都使用const定义常量。2023-06-09 15:10:303
c++中如何定义字符型变量
#include <iostream> using namespace std; int main () { char a,b; int c,d; cin>>a>>b;c=(int)a-96; d=(int)b-96; cout<<c<<" "<<d<<endl; system ("pause"); return 0; }2023-06-09 15:10:508
c++中如何定义一个字符串类型的变量
st=2023-06-09 15:11:1614
c++ 全局变量
又见“LS错误”男,在百度逛了一会,看到只要是有幻の上帝回答的,肯定有“LS错误”或者“ISO”,是显摆呢,还是想压低别人提高自己呢?说5楼说法对,也能讲的通,你信吗?标准男2023-06-09 15:11:409
c++定义变量问题。
呵呵……不麻烦……很高兴可以为你解答……“句柄的地址怎么看?”不太明白你的意思?你是说查看内存0xFFFFFF?如果是的话,可以在调试的时候查看,比如:如果用gdb调试的话,暂停的时候用examine0xFFFFFF来查看,如果用MS-VC,可以在memory窗格中直接输入0xFFFFFF。也可以设置断点之后跟进的时候查看,gdb:print;ms-vc:variables窗格。要注意0xFFFFFF作为句柄的时候是不合法的……我回答的时候仅仅作为示例如果想要在运行的时候显示,可以加入如下语句:printf("handle:%x",handle);win32编程的话,就加:charaddr[1024];ssprintf(addr,"handle:%x",handle);MessageBox(NULL,addr,"handle",MB_OK);2023-06-09 15:11:571
在c++中变量后只有一个减号是什么意思
+=:加法赋值运算符,将运算符前面的变量加上后面的值再赋值给前面的变量。-=:减法赋值运算符,将运算符前面的变量减去后面的值再赋值给前面的变量。a+=b; 等价于a=a+ba-=b; 等价于a=a-b2023-06-09 15:12:0812
C++字符变量char ch=‘b’ 和char ch=97这两个怎么理解?区别是?
charch="b"是常规的将字符b赋值给字符变量ch了。charch=97是将字符对应的ASCII码值赋值给了字符变量ch,此处如果输出ch的值的话,结果为a。这是对字符变量的两种赋值方式,可以给字符变量直接赋值字符本身,如ch="b",也可以给字符变量赋值字符对应的ASCII值,如ch=98,效果是一样的(直接输出均为字符b),只是表现不一样罢了。2023-06-09 15:12:381
C++如何给静态变量数组给予初值
类似于这样啊const int a[10] = {1,2,3,4,5,6,7,8,9,0};2023-06-09 15:12:461
c++中变量的地址是什么类型的
应当是无符号整型的2023-06-09 15:12:532
C/C++中的变量定义与声明
第一种2023-06-09 15:13:0310
c++变量、参数前加“*”什么意思?
一个指针2023-06-09 15:13:424
c++如何定义位变量
类型 标示符(自己起的名字)2023-06-09 15:14:105
c++如何定义位变量
在c++中,要定义一个常量,有两种主要的做法1.符号常量(#define)2.常值变量(const)符号常量的定义方式,其实与c++本身没有关系,它是一个编译器指令,或者称为预处理指令(有关的预处理指令还有#include,#ifdefine等等)。它的用法如下#definepi3.1415926这样的语法就定义了一个叫做pi的符号常量,它的值指定为3.1415926.【注意】因为它其实不是c++语法,所以它不需要(也不能)用分号结束。2023-06-09 15:14:251
c++ 匿名变量是个什么样的东西
匿名变量就是没有名字的变量。在运算过程中会产生。new运算符也可以建立一个匿名变量2023-06-09 15:14:322
C++寄存器变量问题
寄存器寻址比内存快。registerinti;for(i=0;i<10000;++i)语句;定义后,和普通变量一样使用。初学者最好不要指定register,会妨碍编译器的自动优化。你可以看看汇编代码的区别。2023-06-09 15:14:391
如何在C++的头文件中对变量赋值
根据头文件中变量的定义形式,作用范围有所不同,有如下几种情况:1 在头文件中定义静态变量,如static TYPE var = init_value;其中= init_value部分可以省略。等效于在每个引用该头文件的源文件中,定义一个变量名为var, 类型为TYPE的静态全局变量。每个文件中的var变量均归属于本源文件,各文件中的互不相同。作用域为引用头文件的源文件范围内。2 在头文件中定义变量,但是不带初始化值。TYPE var;这种情况下,相当于定义了一个全局变量var, 同时在所有引用该头文件的源文件中声明。其作用域为整个项目的所有源文件。在引用了该头文件的源文件中可以直接使用var, 在没有引用该头文件的源文件中,可以通过extern TYPE var;进行声明,从而使用var。3 在头文件中定义了带初始化值的变量。TYPE var = init_value;当项目中,只有一个源文件中引用了该头文件时,等同于在源文件中定义了这个全局变量,可在该文件中使用var。 在其它源文件中可以通过extern TYPE var;进行声明,从而使用var。所以这种情况下变量的作用域也是整个项目。需要注意的是,这种形式一旦在超过一个源文件中引用该头文件,则会按照在不同文件中定义同名全局变量处理,这时会编译出错,自然也就没有作用域的说法了。2023-06-09 15:14:482
C++ 变量后面加冒号:什么意思????
class List_container : public Container 这个冒号是继承的意思List_container(initializer_list<double> il) : ld{il} { } 这个冒号是在构造函数设置Id变量的初值2023-06-09 15:15:251
c++中的状态变量是什么
拉高速是2023-06-09 15:15:324
C/C++中定义全局变量的几种方法及区别
这个问题需要回答的量很大,给你个博客链接吧,里面介绍了具体的区别。网页链接2023-06-09 15:15:422
cc++如何定义变量范围
比较笨的方法就是用调教约束,用if进行判断2023-06-09 15:15:515
c++怎么声明变量?
对于3.7:全局就是对整个文件有效,局部只对这个函数有效!2023-06-09 15:16:073
C/C++定义全局变量/常量几种方法的区别
全局变量只有一种定义方法,就是定义在函数外面全局变量太长而言可以用变量也可以用宏const double pi=3.14;#define PI 3.14前者是语句最后要分号,后者不要2023-06-09 15:16:141
C/C++变量名的实质是什么
变量名只是一个标志,让编译器识别!2023-06-09 15:16:235
c++中我想定义一个名字中带变量的
这种情况下,局部变量会屏蔽掉名字空间的变量,要访问名字空间内的变量就要加上域前缀比如flag=3;//该flag为main函数内局部变量abc::flag=4;//名字空间变量2023-06-09 15:16:391
C++连续输入变量的值的问题
有没有语法错误没看, 但是你输入的地方 cin>>no1>>name1>>deg1; p[i++].setdata(no1,"asd",100);你既然要输入变量, 干啥还要传进去常量?2023-06-09 15:16:461
c++类定义变量
A ** a2023-06-09 15:17:045
C++ 变量的命名
首先,定义数组时数组的大小必须是一个常数,不能用变量。你说的两种定义方式,都是先定义常数的大小,这样做的好处是,当以后需要修改代码中这些数组的大小定义时,只需要修改常数的定义就可以了,而不需要一一找到每一个数组的定义,有利于代码维护,这是一个很重要的编程技巧。第二种采用对常数位移的方式,其实并不能提高运算速度,因为现在的编译器会对代码进行“编译优化”,对于所有出现在代码中,可以在编译时就能计算出数值的常量表达式,编译器会计算出来并将结果编译在程序中,也就是说常量表达式不用在程序运行时运算了(结果已经由编译器放在程序中相应的位置了)。所以它的作用并不是提高运算速度,也许只是代码逻辑上的需要。只要数组大小的定义是一个常量就可以,而不管对常量进行何种变化,它都还是一个常量,所以第二种方式和第一种方式并没有本质上的区别。2023-06-09 15:17:211
c++结构体变量
你想累死我呀?2023-06-09 15:17:306