汉邦问答 / 问答 / 问答详情

c/c++如何判断变量的数据类型?

2023-06-10 08:03:34
TAG: 变量
黑桃花

c语言中,,每个变量在定义或声明时都必须明确指定变量的类型。

通过函数来输出,似乎没有什么意义,而且也不好实现吧

韦斯特兰

#include <typeinfo>

using namespace std;

...

cout << typeid(d).name() << endl;

bikbok

typeof …………||||

NerveM

跟楼主一样等答案……我的TC,好像找不到typeof这个东西。。。

人类地板流精华

敢问你这个变量要怎么输入?

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++中定义变量有哪些方法?

首先说明变量的类型,然后是变量的名称,中间必须隔开,可以是空格,制表符,回车等,但必须隔开。最后加上分号表明语句结束。例如: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的值都是可以的,没人规定一定只能返回0
2023-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是什么意思

非p
2023-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-b
2023-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 ** a
2023-06-09 15:17:045

C++ 变量的命名

首先,定义数组时数组的大小必须是一个常数,不能用变量。你说的两种定义方式,都是先定义常数的大小,这样做的好处是,当以后需要修改代码中这些数组的大小定义时,只需要修改常数的定义就可以了,而不需要一一找到每一个数组的定义,有利于代码维护,这是一个很重要的编程技巧。第二种采用对常数位移的方式,其实并不能提高运算速度,因为现在的编译器会对代码进行“编译优化”,对于所有出现在代码中,可以在编译时就能计算出数值的常量表达式,编译器会计算出来并将结果编译在程序中,也就是说常量表达式不用在程序运行时运算了(结果已经由编译器放在程序中相应的位置了)。所以它的作用并不是提高运算速度,也许只是代码逻辑上的需要。只要数组大小的定义是一个常量就可以,而不管对常量进行何种变化,它都还是一个常量,所以第二种方式和第一种方式并没有本质上的区别。
2023-06-09 15:17:211

c++结构体变量

你想累死我呀?
2023-06-09 15:17:306

C++ 全局变量怎么不变呢?

void CAboutDlg::Message()//在这个对话框类里面显示另一个类的数值{CMFCMainDlg mdlg;//这个是临时对象,和m_test = _ttoi(m_strtest);这里的CMFCMainDlg是两个对象,你改了其中一个的m_test,不会反映到另一个中去..............}最简单的改法,把m_test声明为static变量
2023-06-09 15:17:431