第4章数组.指针与字符串.ppt
文本预览下载声明
C++面向对象程序设计第四章 数组、指针与字符串;第四章 数组、指针与字符串;4.1 数组;例4. 1一维数组的声明与引用;二维数组的声明及引用;数组作为函数参数;#include iostream
using namespace std;
void RowSum(int A[][4], int nrow)
{ int sum;
for (int i = 0; i nrow; i++)
{ sum = 0;
for(int j = 0; j 4; j++)
sum += A[i][j];
cout Sum of row i is sum endl;
A[i][0]=sum;
}
}
int main()
{ int Table[3][4] = {{1,2,3,4},{2,3,4,5},{3,4,5,6}};
for (int i = 0; i 3; i++)
for (int j = 0; j 4; j++)
cout Table[i][j] endl;
RowSum(Table,3);
for (int i = 0; i 3; i++)
cout Table[i][0];
};对象数组;例4-3 对象数组应用举例;//prjPoint.cpp
#includeiostream
using namespace std;
#include Point.h
int main()
{
coutEntering main...endl;
Point A[2];
for(int i=0;i2;i++)
{
A[i].Move(i+10,i+20);
A[i].Display(); cout endl;
}
coutExiting main...endl;
};4.2 指针;声明:
例:int i;
int *p = i;
指向整型变量的指针;指针变量的初始化;指针变量的赋值运算;例:指针的声明、赋值与使用;指针变量的算术运算;;指针变量的关系运算;指向数组元素的指针;设有一个int型数组a,有10个元素。用三种方法输出各元素:(1)使用数组名和下标;(2)使用数组名和指针运算;(3)使用指针变量;指针数组;//输出单位矩阵
coutMatrix test:endl;
for(int i=0;i3;i++) //对指针数组元素循环
{
for(int j=0;j3;j++)//对矩阵每一行循环
{ coutp_line[i][j] ; }
coutendl;
}
};以指针作为函数参数;int main()
{
int i, n;
float x, f;
coutEnter three(3) floating point numbers: endl;
for (i = 0; i 3; i++)
{
cin x;
splitfloat(x,n,f); //变量地址做实参
coutInteger Part is n Fraction Part is fendl;
}
};指向常量的指针;指针类型的常量;;4.3 动态内存分配;例如:一维数组的创建与删除:
int size,count;
int *array;
cinsize;
array = new int[size] ; //数组大小可以是变量
……
delete []array; //释放堆内存;#includeiostream
#includeiomanip
using namespace std;
int main()
{
float (*cp)[5];
cp = new float[4][5];
int i,j;
for (i=0; i4; i++)
for (j=0; j5; j++)
*(*(cp+i)+j)=i*10+j*1;
for (i=0; i4; i++)
{
for (j=0; j5; j++)
coutcp[i][j] ;
coutendl;
}
coutendl;
};#include Point.h
int main()
{
coutStep One:endl;
Point *Ptr1= new Point;
delete Ptr1;
coutStep T
显示全部