目录
一、多维数组
- 多维数组最简单的形式是二维数组。一个二维数组,在本质上,是一个一维数组的列表。声明一个 x 行 y 列的二维整型数组,形式如下:
type arrayName [ x ][ y ];
其中,type 可以是任意有效的 C++ 数据类型,arrayName 是一个有效的 C++ 标识符。
访问二维数组仍然适用下标即可,例如arr[i][j]。
二、指向数组的指针
- balance 是一个指向 &balance[0] 的指针,即数组 balance 的第一个元素的地址。因此,下面的程序片段把 p 赋值为balance 的第一个元素的地址:
double *p;
double balance[10];
p = balance;
使用数组名作为常量指针是合法的,反之亦然。因此,*(balance + 4) 是一种访问 balance[4] 数据的合法方式。
一旦您把第一个元素的地址存储在 p 中,您就可以使用 p、(p+1)、*(p+2) 等来访问数组元素。
C++ 中,将 char * 或 char[] 传递给 cout
进行输出,结果会是整个字符串,如果想要获得字符串的地址(第一个字符的内存地址),可使用以下方法:强制转化为其他指针(非 char*)。使用
&s[0] 不能输出 s[0](首字符)的地址。因为 &s[0] 将返回 char*,对于 char*(char 指针),cout
会将其作为字符串来处理,向下查找字符并输出直到字符结束 *。
三、传递数组给函数
-
C++ 中可以通过指定不带索引的数组名来传递一个指向数组的指针。
-
C++ 传数组给一个函数,数组类型自动转换为指针类型,因而传的实际是地址。
-
如果您想要在函数中传递一个一维数组作为参数,您必须以下面三种方式来声明函数形式参数,这三种声明方式的结果是一样的,因为每种方式都会告诉编译器将要接收一个整型指针。同样地,您也可以传递一个多维数组作为形式参数。
//方式 1
//形式参数是一个指针:
void myFunction(int *param){
}
//方式 2
//形式参数是一个已定义大小的数组:
void myFunction(int param[10]){
}
//方式 3
//形式参数是一个未定义大小的数组:
void myFunction(int param[]){
}
-----------------------------------------------------------------------------------------------------------------------------------------------------
如果本文对你有所帮助,请不要忘了点赞、关注、收藏一键三连哦!!! ❤️❤️❤️
-----------------------------------------------------------------------------------------------------------------------------------------------------