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<

就非常便捷。

数组做函数参数

直接用数组名作为函数的实参(相当于给函数传地址),形参为不需要说明长度的同类型数组。

同样的,也可以用数组元素做实参,不过这样便需要指针或引用的方式才能改变主函数内的变量值。



未完待续。。

相关