c语言数组、字符串.ppt

c语言数组、字符串.ppt

ID:48051357

大小:478.00 KB

页数:55页

时间:2019-05-06

c语言数组、字符串.ppt_第1页
c语言数组、字符串.ppt_第2页
c语言数组、字符串.ppt_第3页
c语言数组、字符串.ppt_第4页
c语言数组、字符串.ppt_第5页
资源描述:

《c语言数组、字符串.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数组数组概念1.数组有多个数据组成2.元素具有相同基本类型3.内存单元连续1定义说明:(1)数组定义时,必须指定数组的大小(或长度),只能是常量表达式(2)数组定义后,系统将给其分配一定大小的内存单元,其所占内存单元的大小与数组元素的类型和数组的长度有关。数组所占内存单元的字节数=数组大小×sizeof(数组元素类型)(3)数组中每个数组元素的类型均相同,占用内存中连续的存储单元,第一个数组元素的地址是整个数组所占内存块的低地址,也是首地址,最后一个数组元素的地址是整个数组所占内存块的高地址(末地址)。例如:shortinta[20];

2、则数组a所占内存单元的大小为:20*sizeof(short)=20*2=40(字节)。2引用说明:(1)下标可以是整型常量、整型变量或整型表达式。C语言规定,下标的最小值是0,最大值则是数组大小减1。(2)只能逐个引用数组元素,不能一次引用整个数组(3)数组引用要注意越界问题。(4)数组必须先定义,后使用3初始化赋值说明:(1)“=”后面的表达式列表一定要用{}括起来,被括起来的表达式之间用“,”分隔;(2)表达式的个数不能超过数组变量的大小;例inta[4]={1,2,3,4,5};//超出了数组的大小(3)如果表达式的个数小于数组

3、的大小,则未指定值的数组元素被赋值为0;例inta[10]={0,1,2,3,4};(4)当对全部数组元素赋初值时,可以省略数组变量的大小,此时数组变量的实际大小就是初值列表中表达式的个数。例charstr[]={'a','b','c','d','e'};则数组str的实际大小为5。注意:在定义数组时,如果没有为数组变量赋初值,那么就不能省略数组的大小。而且数组不初始化,其数组元素为随机值。4一维数组赋值C语言除了在定义数组变量时用初值列表对数组整体赋值以外,无法再对数组变量进行整体赋值。例inta[5];a={1,2,3,4,5};a

4、[]={1,2,3,4,5};a[5]={1,2,3,4,5};错误!数组定义后,如何对数组进行赋值呢?只能通过C语句对数组中的数组元素逐一赋值。使用赋值语句来逐一赋值例inta[4];a[0]=1;a[1]=2;a[2]=3;a[3]=4;charstr[80];str[0]='b';str[1]='y';str[2]='e';str[3]='';//将数组str赋值为一字符串"bye"这种方法是一种简单而且行之有效的方法,它适用于长度较小的数组或对长度较大的数组部分元素赋值,而且可对每个数组元素赋不同的值。使用循环语句来逐一赋值

5、例如,将数组a的各元素赋值成奇数序列。inta[10],i;for(i=0;i<10;i++)a[i]=2*i+1;例如,接受用户键盘输入赋值给数组各元素。inta[10],i;for(i=0;i<10;i++)scanf("%d",&a[i]);判断下列赋值是否正确?inta[3];scanf("%d%d%d",a);×这种方法是在编程中普遍使用的一种方法,它适用于对某数组元素进行有规律的赋值或接受用户通过键盘输入对数组元素的赋值。使用memset函数来赋值memset函数原型:memset(数组名a,具体数值,内存长度)功能:就是将

6、s为首地址的一片连续的n个字节内存单元都赋值为ch。例如,将数组str的每个数据单元赋值为'a'。charstr[10];memset(str,'a',10);例如,将数组a的每个数据单元赋值为0(清0)。inta[10];memset(a,0,10*sizeof(int));这种方法是适合于数组的整体赋值使用memcpy函数实现数组间的赋值memcpy函数:memcpy(目的数组b,源数组a,内存长度)功能:将s为首地址的一片连续的n个字节内存单元的值拷贝到以d为首地址的一片连续的内存单元中。例如,两个数组元素之间的赋值。inta[5

7、]={1,2,3,4,5},b[5],i;for(i=0;i<5;i++)b[i]=a[i];memcpy(b,a,5*sizeof(int));注意:在使用memset和memcpy函数时,源程序中要包含头文件“string.h”。在TC或BC下头文件也可用“mem.h”,在VC下,则也可用“memory.h”。二维数组及多维数组1、二维数组的定义定义方式:数据类型 数组名[常量表达式1][常量表达式2];数组元素的存放顺序原因:内存是一维的二维数组:按行序优先多维数组:最右下标变化最快例inta[3][4];floatb[2][5]

8、;intc[2][3][4];inta[3,4];()行数列数元素个数=行数*列数inta[3][2]a[0][1]a[1][0]a[1][1]a[2][0]a[2][1]014523a[0][0]a[0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。