C++2 C快速过渡到C++.doc

C++2 C快速过渡到C++.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C2C快速过渡到C

Chap2 C++的变量、类型及函数(从C快速过渡到C++) 2.1 数据类型(DataType) 1.基本数据类型 保留了C的所有基本DataType 2.复杂数据类型 C++采用 *、、[ ]、( )等运算符派生出如下复杂的DataType。其中, *、是单目运算符,放在标识符前面; [ ]、( )是双目运算符,放在标识符后面。 ①数组 格式:数组名[下标] 例: char s[ ]=”abcd”; s[0]=’a’; int a[4]={1,2,3,4}; ②指针 格式:*指针名 例: int *pi; float *pf; int (*pfun)(char *, int len); /*函数指针,表示pfun首先是一指 针,该指针指向具有2个形参的函数*/ ③引用 格式:引用名 例: int i=5; int refi=i; ④class类型(包括struct和union类型) 用户自定义的一种新的DataType,用来表示客观世界某类实体的抽象数据类型(Abstract Data Type-ADT) ⑤常量(只读变量) C++保留了C的常量定义风格,且对它的符号常量加以扩展。如 #define tabsize 4 ( const int tabsize=4; #define PI 3.1415926 ( const float PI=3.1415926 2.2 声明与定义 声明:对某个名及其内涵的不完整描述 定义:对该名及其内涵的完整描述 变量声明:不分配存储单元 或 不初始化的变量定义。如, extern int i; //声明 extern int i=0; //定义 函数声明:不定义函数体的函数原型描述。如, long sum(int a, int b); //声明 long sum(int a, int b) //定义 { return a+b; } 注意: ①对于未初始化的全局变量、静态变量,C/C++缺省地初始化为0(定义) ②对于局部变量,C/C++都不会缺省初始化(声明) 2.3 C++的常量与变量 2.3.1常量(只读变量) 常量:在程序运行期间其值不能被修改,在定义时必须初始化 C++对符号常量(宏定义标识符)加以扩展,对任何类型的对象(指针变量、引用变量、结构变量、数组、class类型的对象)都可以定义成常量。 定义格式:const 数据类型定义=初始值; 1.基本DataType,如 const int size=100; const float pi=3.1415; int aryInt[size]; 2.数组 常量数组中每个元素值在其作用域内不能被修改 const int data[ ]={1,2,3}; ( int const data[ ]={1,2,3}; data[1]=10; //出错 3.结构变量 其内的成员值在其作用域内都不能被修改 struct Complex{ double real; double image; }; const Complex X={1.0, 1.0}; X.real=2.0; //错误 X.image=3.0; //错误 4.指针 涉及到两个对象:指针本身和指针所指的目标变量 ①将指针所指的目标变量定义成只读 —— 指向常量的指针 定义格式: const 类型 *指针名[=地址表达式];// [...]可选 类型 const *指针名; 例: const char *pc=”abcd”; // *pc为只读变量,不可变 pc[3]=’f’; // × *pc=’a’; // × pc=”sdef”; // √ 指针所指存储单元的值是不可变,而指针的地址值是可以改变(即,可以重新给指针定向)。 即,*pc,*(pc+1),...,pc[0],pc[1],... 不可重新赋值 pc可重新赋值 ②将指针本身定义成只读 —— 常量指针 定义格式: 类型 *const 指针名=地址表达式; //必须在定义同时初始化 例: char * const pc=”abcd”; // pc不可变,*pc可变 pc[3]=’f’; //√ pc = “sdef”; // × 指针所具有的地址值不可变,而指针

文档评论(0)

130****9768 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档