数组地址:
一维数组:元素地址,数组整体地址
int arr[5]={1,2,34,5,6};
元素地址:&a[0] a+i 指针类型:int *
整体地址:&a 指针类型:int[5]*
二位数组:元素地址,行地地址,数组整体地址
int arr[3][4]
元素地址 : &arr[i][j]/a[i]+j int *
行地址: a+i int[4]//按行存储,每行有4个
整体地址:&a int [3][4]
指针数组:存储指针的数组。
int *p[5]
本质还是数组,数组存储的元素是指针类型。
以数组的访问形式,访问到数组元素,在以指针的形式展开。
数组指针:指向数组的指针。
一维数组:
指向元素地址:
指向整体地址:
二位数组:
指向元素地址;
指向行元素地址:
指向整体元素地址:
函数传参:值传参,地址传参,数组传参
数据组传参:
一维数组(3):(数组名,数组大小)
void fun(int *p ,int size) fun(a,num);
void fun (int p[] ,int size) fun(a,num);
void fun(int size,int (*p)[size]) fun(num.&a);
二位数组(4):(数组名,行 ,列)
void fun(int *p,int m,int n) fun(a,m,n);
void fun(int n,int p[][n] ,int m) fun(n,a,m);
void fun (int n,int *p[n],int m) fun(n,a,m);
void fun(int m,int n,int *p[m][n]) fun(m,n,&a);