该【数组、指针和字符串 】是由【3827483】上传分享,文档一共【39】页,该文档可以免费在线阅读,需要了解更多关于【数组、指针和字符串 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。C++语言程序设计基础
单击此处添加副标题
单/击/此/处/添/加/正/文
CLICK HERE TO ADD A TITLE
第6章 数组、指针和字符串
CONTENTS
数组
指针
动态内存分配
01
02
03
用vector创建数组对象
深复制和浅复制
字符串
04
05
06
一维数组
<数据类型> <数组名>[<表达式>];
int a[3+2]; char b[3]; const int SIZE=10;int m[SIZE];
数组元素的表示:<数组名>[<下标>]
<下标>为常量表达式;从0开始;
各个元素在内存中按其下标的升序顺序连续存放
数组元素的初始化
int a[3]={1,2,3},b[4]={6,7},c[2];
数组
<类型> <数组名>[<大小1>][<大小2>]…;
int a[3][4]; double b[2][3][4];
数组元素的表示
<数组名>[<下标1>][<下标2>]…
各个元素在内存中连续存放
数组元素的初始化
int d[2][3]={{1,2,3},{4,5,6}};
int d[2][3]={1,2,3,4,5,6};
int a[2][3]={{1},{2,3}};
思考
多维数组
void fun(int b[],int n)
{
for(int i=0;i<n-1;i++)
b[7]+=b[i];
}
int main()
{
int a[8]={1,3,5,7,9,11,13}, m=8;
fun(a,m);
cout<<a[7]<<endl;
return 0;
}
数组作为函数参数
数组练习
一维数组:编写函数,实现对给定数组中的元素逆序。
二维数组:打印杨辉三角。
对象数组
CDate date[31];
date[0].SetDate(2012,10,1);
date[0].PrintDate();
对象数组
01
CDate a[2]={ CDate(2050,10,1), CDate(2050,10,2) };
CDate a[2];
a[0]= CDate(2050,10,1);
a[1]= CDate(2050,10,2);
对象数组的初始化
02
内存空间的访问方式
声明变量,分配内存
指针是变量在内存中起始地址
变量的地址:&变量名
例题
double x=-;
注:实际应用中更多的是通过&引用变量的指针,而很少关心指针的实际值
内存用户数据区
x
px
-
…
0x0012fe80
0x0012fe80
0x1212ef12
指针
指针变量的声明
<存储类型> <数据类型> *<指针变量名>;
指针声明时指定的数据类型是指针所指向目标的数据类型
一个指针变量只能指向数据类型指定的同一类型的变量
表示变量为指针变量
指针变量在使用前一定要先赋值后使用
char *pName;
int *px;
<数据类型> *<指针变量名>=<地址量>;
int a=1,*p1=&a, *p2=p1;
int a=1,*p1,*p2;
p1=&a;//赋给同类型的变量地址值
p2=p1; //赋给同类型的指针变量的值
*p1=2; //给p1所指向的变量赋值
*p2=3; //给p2所指向的变量赋值
p1
a
*p1
*p2
p2
.
1
2
3
指针的赋值
数组、指针和字符串 来自淘豆网m.daumloan.com转载请标明出处.