[C++基本语法:从菜鸟变成大佬系列](三):C++的定义变量

变量定义类型

类型 含义
bool 存储值为true或false
char 通常为单个八位字节(一个字节)。这是一个整数类型
int 机器最自然的整数大小
float 单精度浮点值
double 双精度浮点值
void 表示类型缺失
wchar_t 广泛的字符类型。

C++中的变量定义
变量定义告诉编译器为变量创建的存储位置和容量。变量定义指定数据类型,并包含该类型的一个或多个变量的列表,如下所示

1 type variable_list;

此处,类型必须是有效的 C++ 数据类型,包括字符、w_char、int、float、double、bool 或任何用户定义的对象等,并且variable_list可以包含一个或多个用逗号分隔的标识符名称。此处显示了一些有效的声明

1 int    i, j, k;
2 char   c, ch;
3 float  f, salary;
4 double d;

在这一行int i, j, k;声明和定义变量 i、j 和 k;指示编译器创建名为 int 类型的 i、j 和 k 的变量。

可以在变量的声明中初始化变量(分配初始值)。初始化程序由等号后跟一个常量表达式组成,如下所示

1 type variable_name = value;

这是一个例子

1 extern int d = 3, f = 5;    //对d和f的声明
2 int d = 3, f = 5;           //对d和f的类型数值的初始化,d=3,f=5
3 byte z = 22;                //对z的类型定义的初始化,使z=22个字节
4 char x = ‘x‘;               //对z的类型定义的初始化,使x=x的ASCII码值58

对于没有初始化程序的定义:具有静态存储持续时间的变量用 NULL 隐式初始化(所有返回值为 0);所有其他变量的初始值未定义

C ++中的变量声明

变量声明为编译器提供了保证,即存在一个具有给定类型和名称的变量,以便编译器继续进行进一步编译,而无需完整的变量详细信息。变量声明仅在编译时有意义,编译器在链接程序时需要实际的变量定义。

当您使用多个文件并在链接程序时可用的其中一个文件中定义变量时,变量声明很有用。您将使用extern关键字在任何地方声明变量。虽然您可以在C ++程序中多次声明变量,但它只能在文件,函数或代码块中定义一次。

尝试以下示例,其中变量已在顶部声明,但已在主函数内定义

 1 #include <iostream>
 2 using namespace std;
 3
 4 //变量声明:
 5 extern int a, b;
 6 extern int c;
 7 extern float f;
 8
 9 int main () {
10    // 变量声明:
11    int a, b;
12    int c;
13    float f;
14
15    // 真正的定义
16    a = 10;
17    b = 20;
18    c = a + b;
19
20    cout << c << endl ;
21
22    f = 70.0/3.0;
23    cout << f << endl ;
24
25    return 0;
26 }

编译并执行上述代码时,会产生以下结果

1 30
2 23.3333

相同的概念适用于函数声明,其中您在声明时提供函数名称,并且可以在其他任何位置给出其实际定义。例如

 1 // 变量声明
 2 int func();
 3 int main() {
 4    // function call
 5    int i = func();
 6 }
 7
 8 // 函数定义
 9 int func() {
10    return 0;
11 }

原文地址:https://www.cnblogs.com/ssf-lrk/p/11225183.html

时间: 2024-10-28 10:46:44

[C++基本语法:从菜鸟变成大佬系列](三):C++的定义变量的相关文章

[C++基本语法:从菜鸟变成大佬系列](二):C++的程序结构

C++程序结构 让我们看一下打印Hello World这个词的简单代码. 1 #include <iostream>//头文件名,iostream表示有输入输出流 2 using namespace std; 3 // main() 是主程序开始的地方 4 int main() { 5 cout<<"Hello World"; // 输出Hello World 6 return 0; 7 } 让我们看一下上述程序的各个部分 C ++语言定义了几个标题,其中包含对

[C++基本语法:从菜鸟变成大佬系列,就像1,2,3那么简单](五):C++的输入输出

怎样输入输出? C ++标准库提供了一组广泛的输入/输出功能,我们将在后续章节中看到.本章将讨论C ++编程所需的非常基本和最常见的I / O操作. C ++ I / O发生在流中,这是字节序列.如果字节从键盘,磁盘驱动器或网络连接等设备流向主存储器,则称为输入操作,如果字节从主存储器流向显示屏,打印机,磁盘驱动器等设备或者网络连接等,这称为输出操作. I / O的头文件 以下头文件对C ++程序很重要 类型 描述 <iostream> 此文件定义分别对应于标准输入流.标准输出流.未缓冲标准错

information_schema系列三(文件,变量)

这个系列的文章主要是为了能够让自己了解MySQL5.7的一些系统表,统一做一下备注和使用,也希望分享出来让大家能够有一点点的受益. 1:FILES 这张表提供了有关在MySQL的表空间中的数据存储的文件的信息 我们刚创建一张表,现在来看一下这张表,我新建了一张maxiangqian名字的表,然后进行查询. 在5.7.8以后版本FILES就是为InnoDB 的数据文件提供记录.在MySQL集群该表还提供了有关在MySQL集群磁盘数据表存储的文件的信息. 这个表的数据是从InnoDB in-memo

Maven系列三Maven内置变量

Maven内置变量说明: ${basedir} 项目根目录(即pom.xml文件所在目录) ${project.build.directory} 构建目录,缺省为target目录 ${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes ${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version} ${project.packaging} 打包

菜鸟学设计模式系列笔记之Prototype模式(原型模式)

菜鸟学设计模式系列笔记之Prototype模式: Intent: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 Motivation:以一个已有的对象作为原型,通过它来创建新的对象. 在增加新的对象的时候,新对象的细节创建工作由自己来负责,从而使新对象的创建过程与框架隔离开来. 应用场景: (1)当一个系统应该独立于它的产品创建.构成和表示时 (2)当要实例化的类是在运行时刻指定时,例如动态加载 (3)为了避免创建一个产品类层次平行的工厂类层次时 (4)当一个类的实例只能有几个

Spring Data 系列(三) Spring+JPA(spring-data-commons)

本章是Spring Data系列的第三篇.系列文章,重点不是讲解JPA语法,所以跑开了JPA的很多语法等,重点放在环境搭建,通过对比方式,快速体会Spring 对JPA的强大功能. 准备代码过程中,保持了每个例子的独立性,和简单性,准备的源码包,下载即可使用.如果,对JPA语法想深入研究的话,直接下载在此基础上进行测试. 前言 Spring Data 系列(一) 入门:简单介绍了原生态的SQL使用,以及JdbcTemplate的使用,在这里写SQL的活还需要自己准备. Spring Data 系

Java学习之Xml系列三:dtd校验、改、增、删

见摘要.见代码注释,其他话不多说: DTD文档: <?xml version="1.0" encoding="UTF-8"?> <!ELEMENT SwordLibrary (Sword*)> <!ELEMENT Sword (SwordName,Price,Attack)> <!ELEMENT SwordName (#PCDATA)> <!ELEMENT Price (#PCDATA)> <!ELE

【T-SQL系列】临时表、表变量

原文:[T-SQL系列]临时表.表变量 临时表临时表与永久表相似,只是它的创建是在Tempdb中,它只有在一个数据库连接结束后或者由SQL命令DROP掉,才会消失,否则就会一直存在.临时表在创建的时候都会产生SQL Server的系统日志,虽它们在Tempdb中体现,是分配在内存中的,它们也支持物理的磁盘,但用户在指定的磁盘里看不到文件. 临时表分为本地和全局两种,本地临时表的名称都是以“#”为前缀,只有在本地当前的用户连接中才是可见的,当用户从实例断开连接时被删除.全局临时表的名称都是以“##

C语言快速入门系列(三)

C语言快速入门系列(三) 结构化的程序设计 -----------------------------------转载请注明出处:coder-pig 本节引言: 在前面的学习中,我们对C语言的基本语法进行了了解,可以暂时理解成我们学了单词; 现在要做得就是学语法,也就是算法;就是构成一个一个基本的程序! 在这一节中我们要学习的是C语言中的输入输出,以及程序的三种结构(顺序,选择,循环结构) 本节学习路线图: 正文: 1.字符输入/输出函数 2.格式输入/输出函数 跟前面的单个字符的输入输出不同,