第八章:指针04
让编程改变世界
Change the world by program
小结
归纳起来, 如果有一个实参数组, 想在函数中改变此数组中的元素的值, 实参与形参的对应关系有以下4种情况: (1) 形参和实参都用数组名, 如: [codesyntax lang="c"]void main() { int a[10]; f(a, 10); } void f(int x[], int n) { }[/codesyntax] (2) 实参用数组名, 形参用指针变量。如: [codesyntax lang="c"]
void main() { int a[10]; f (a, 10); } f(int *a, int n) { }[/codesyntax] (3) 实参形参都用指针变量。如: [codesyntax lang="c"]
void main() { int a[10], *p = a; f(a, 10); } void f(int *x, int n) { }[/codesyntax] (4) 实参为指针变量, 形参为数组名。如: [codesyntax lang="c"]
void main() { int a[10], *p = a; f(p, 10); } f(int x[], int n) { }[/codesyntax]
源码分析
对数组中10个整数按由大到小顺序排序
程序源代码(点击下载)多维数组与指针
用指针变量可以指向一维数组中的元素, 也可以指向多维数组中的元素。 但在概念上和使用上, 多维数组的指针比一维数组的指针要复杂一些。多维数组元素的地址
先回顾一下多维数组的性质,可以认为二维数组是“数组的数组”, 例 : 定义int a[3][4] = {{1, 3, 5, 7}, {9, 11, 13, 15}, {17, 19, 21, 23}}; 则二维数组a是由3个一维数组所组成的。设二维数组的首行的首地址为2000 则有…… [caption id="attachment_154" align="aligncenter" width="300"]
