C++ 基础学习教程 第二章 变量(1)
来源:互联网 发布:淘宝联盟软件 编辑:程序博客网 时间:2024/05/21 02:36
第一节 变量基础知识
变量是一个具名的、可供程序操作的存储空间。
1 定义变量
1.1 变量定义形式:
变量定义的基本形式是:首先是类型说明符,随后紧跟有一个或多个变量名组成的列表,其中变量名以逗号分隔,最后以分号结束。(类型说明符:即说明变量类型,变量类型决定了变量的存储空间,能存储的值的范围,以及变量能参与的运算。类型说明符由基本数据类型(char, int, float, double…)和类型修饰符(*,&…)构成。)
1.2 变量定义与类型说明符、基本数据类型、声明符、类型修饰符四者关系:
变量定义 = 类型说明符 + 变量名;
变量定义 = 基本数据类型 + 声明符;
声明符 = 类型修饰符 + 变量名;
2 变量初始化
2.1 初始化含义:
在创建变量(定义而非声明)时赋予其一个初始值。
2.2 初始化方式:
以将一个名为i的int变量初始化为0为例。
直接初始化:int i(0);
拷贝初始化:int i = 0;
列表初始化:int i{0}; int i{0};
(这种初始化形式有一个重要特点:如果我们使用列表初始化且初始值存在丢失信息的风险,则编译器将报错)。
默认初始化:如果定义变量时没有指定初值,则变量被默认初始化。默认值到底是什么由变量类型决定,同时定义变量的位置也会对此有影响。定义与任何函数体之外的变量将被初始值为0,定义在函数体内部的内置类型变量将不被初始化。一个未被初始化的内置类型变量的值是未定义的,如果试图拷贝或以其他形式访问此类型将引发错误。
2.2 初始化与赋值区别:
赋值是把变量的当前值擦除,用新的值替代。而初始化是在创建变量时赋予其一个初始值
3 变量定义与声明
3.1 声明和定义的区别:
声明:使得名字为程序所知,即规定了变量的类型和名字。
定义:负责创建与名字关联的实体,即申请存储空间。
3.2 如何声明一个变量而非定义它:
在变量名前添加关键字extern。
变量能且只能被定义一次,但是可以被多次声明。
3.3 声明的重要性:
为了允许把程序拆分成多个逻辑部分来编写,C++语言支持分离式编译机制,该机制允许将程序分割成若干文件,每个文件可被独立编译。如果要在多个文件中使用同一个变量,就必须将声明和定义分离。此时,变量的定义必须出现在且只能出现出一个文件中,而其他用到该变量的文件必须对其进行声明,却绝对不能重复定义。
4 变量名
4.1 标识符概述
即组成名字的字符序列。由字母、数字、下画线组成,其中必须以字母或下画线开头,长度没有限制,但对大小写字母敏感。
C++语言保留了一些名字供语言本身使用,这些名字不能被用作标识符。
用户自定义的标识符不能连续出现两个下画线,也不能以下画线紧连大写字母开头。
4.2 变量命名规则
变量命名首先需要准从标识符限定条件,其次名字要能体现其真实含义。具体的命名规则我在另一篇文章已经细细的讲解过了,感兴趣的同学可以看看程序编程规范。
最后,感谢您的阅读。
- C++ 基础学习教程 第二章 变量(1)
- C++ 基础学习教程 第二章 变量(2)
- 第二章 java基础(变量)
- C/C++ C语言学习第二天下午(变量)
- Python基础学习--第二篇(Python变量和数据类型)
- C++Primer 学习笔记 第二章(变量和基本数据类型)
- C++primer学习笔记(一):第二章.变量和基本类型
- Pro visual c++/cli and .net 2.0 platform2 学习笔记(6 第二章 C++/CLI基础=1 )
- C语言基础学习-变量
- 学习PHP 第二章变量
- C#教程第二课:表达式,类型和变量
- C#教程第二课:表达式,类型和变量
- C#教程第二课:表达式,类型和变量
- C#教程第二课:表达式,类型和变量
- C语言基础学习教程
- 第二天(java基础变量)
- C++Primer第二章(变量和基本类型)笔记
- C#第二章基础语法
- python使用gensim进行文本相似度计算
- Java线程(六):线程池
- 【NIO详解】基于NIO的client与server
- Hadoop及Spark集群部署
- iOS 正则 检测是否为手机号
- C++ 基础学习教程 第二章 变量(1)
- iOS 根据字符串数目,自定义Label等控件的高度
- ATPG中的primitives
- javaScript 高级程序设计 第一章
- [py]py存放家具
- linux xiezai oracle 11g http://blog.csdn.net/kimsoft/article/details/8129292
- OC笔记一:Objective
- python2016.2.3你懂得
- makefile多级目录的调用