下载此文档

复合数据类型.ppt


文档分类:IT计算机 | 页数:约37页 举报非法文档有奖
1/37
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/37 下载此文档
文档列表 文档介绍
。组成数组的对象叫数组的元素。数组在存储器中是连续存放的。数组可以是一维的,也可以是多维的;一维数组的元素只有一个下标,n维数组元素有n个下标。:数据类型标识符[常量表达式1][常量表达式2]…;其中的数据类型代表数组元素的类型,可以是除void以外的任何类型(包括简单数据类型和抽象数据类型)。标识符是由编程者指定的数组名,数组名是一个常量,代表数组元素在存储器中的初始地址—即数组中第一个元素在存储器中的地址。常量表达式1、常量表达式2、……必须是无符号整数类型(unsignedint),用来指定数组各维的长度。数组中所有元素的个数是各常量表达式的乘积。例如下面的语句定义了一个包含10个元素的一维整数数组i。inti[10];注意数组的下标是从0开始的,故数组i的第一个元素是i[0]。数组的定义和初始化下面语句定义了一个单精度浮点型二维数组f:floatf[10][10];二维数组在存储器中是按行续优先连续存放的。定义数组的同时给数组的全部或部分元素赋值叫数组初始化。例如:inta[10]={12,3,34,64,9,56,21,76,5,1};intb[3][3]={1,0,0,0,1,0,0,0,1};第二条语句也可以写为:intb[3][3]={{1,0,0},{0,1,0},{0,0,1}};//二维数组按行初始化数组初始化时也可以只给数组中的一部分元素赋初值,例如:floatf[5]={,};intb[3][3]={{1,0,0},{0},{0,0,1}};,×3列的整数矩阵,输出该矩阵并求出主对角线元素的和。,下面的语句定义了一个包含20个字符的字符数组:charstr[20];C++语言没有提供内置的字符串类型,可以使用字符数组处理字符串;但普通的字符数组并不是字符串。例如:charstr[]={‘W’,‘l’,‘e’,‘c’,‘o’,‘m’,‘e’,‘’,‘t’,‘o’,‘’,‘C’,‘+’,‘+’};//只是普通的字符数组,不是字符串若想使字符数组构成一个字符串,则必须在初始化字符数组或给字符数组赋值时,使其中的某个字符元素的值为空字符‘\0’。例如:charstr[]={'W','l','e','c','o','m','e','','t','o','','C','+','+','\0'};空字符'\0'的ASCII码值为0,它并不是字符串中的有效字符,其作用是作为字符串的结束标志。普通的字符数组和C++字符串的区别首先,为了方便地处理字符串,C和C++语言专门定义了一组用于操作字符串的库函数。例如函数strcat、strcpy、strcmp等。这些函数处理的都是字符串而不是普通的字符数组,即只有构成字符串的字符数组才能作为这些函数的参数。其次,字符串可以作为一个整体进行输入和输出操作,而普通的字符数组则必须逐个字符进行输出。例如:charstr[20];cin>>str;//从键盘输入字符串cout<<str;//向显示器输出字符串为了更加方便地处理字符串,C++系统预定义了一个名为string的类,相关知识在以后章节中介绍。,指针型数据中存放的是它所指向的对象的存储器地址(内存地址)。定义指针变量的语法形式为:数据类型*标识符;//其中数据类型代表指针指向的数据的类型;标识符是指针变量的名字;标识符前面的星号“*”是定义指针的标志。例如:int*ptr1;float*ptr2使用指针使用指针前必须给它赋初值,使它确实地指向某个对象。否则它的初值不确定。使用符号“&”给指针变量赋值。这里符号“&”称为取地址运算符,功能是取得某个对象或变量的存储器地址。例如:inti,*ptr1;ptr1=&i;假设整型变量i在存储器中的地址为1000,指针变量ptr1的内存地址为2000,,就可以使用指针和解引用操作符*来操作它所指向的对象,语法形式为:*指针名这时表达式“*指针名”和指针所指向的对象或变量名是等价的。例如*ptr1和i是等价的。

复合数据类型 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数37
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ranfand
  • 文件大小117 KB
  • 时间2019-03-31