C++期末复习——数组专题
还有一个月就期末考了,趁着马原毛概刑法的背诵资料还没发下来,赶紧复习一下c++的内容。个人感觉不管是数组做函数参数、数组与指针、字符数组、字符串数组、指针数组都有一定的理解上的不便,而且特别地,“不能建立引用数组”。因此,这里针对数组的特殊性,对数组有关的部分知识做一个整理,便于期末复习使用。
数组的输入输出:
整型、浮点型数组的输入输出:
对于一位或多维数组,利用循环遍历数组中的元素,达到输入与输出。
(详情略)
字符型数组的输入输出
- 逐个输入输出(不能输入空格)
如输入:
char a[10];
for(int i=0;i<10;i++)
cin>>a[i];
- 用数组名输入输出(输入时含有空格则只输入空格前的内容)
如:
char a[10];
cin>>a;
cout<
- 函数输入(重要!记得带长度)
如:
char a[10];
cin.getline(a,10);
指针数组的输入输出
输出:
#include
using namespace std;
int main()
{ char *a[]={"abc","abc"};
// cin>>*a[0];
for(int i=0;i<2;i++)
cout<
输入:
需要利用new和delete动态分配和释放内存。
char **a = new char *[3];
//动态分配一个指针数组
for(int i=0;i<3;i++)
a[i]=new char [8];
//动态分配每个字符串长度
for(int i=0;i<3;i++)
cin>>a[i];
//输入字符串
for(int i=0;i<3;i++)
cout<
或者
char *a[5];
//直接分配一个指针数组
for(int i=0;i<5;i++)
a[i] = new char[8];
//动态分配每个字符串长度
for(int i=0;i<5;i++)
cin>>a[i];
//输入字符串
for(int i=0;i<5;i++)
cout<
又或者直接使用字符串数组:
string a[3];
for(int i=0;i<3;i++)cin>>a[i];
for(int i=0;i<3;i++)cout<
就非常便捷。
数组做函数参数
直接用数组名作为函数的实参(相当于给函数传地址),形参为不需要说明长度的同类型数组。
同样的,也可以用数组元素做实参,不过这样便需要指针或引用的方式才能改变主函数内的变量值。
未完待续。。