数组指针与指针数组
1.数组指针:
(1)定义及初始化:
int array[10] = ;
int (*array)[10] = &array;
或者:
int *(p)[] = (int (*) []) malloc(10*sizeof(int));
for(int i=0;i
{
(*p)[i] = i+1;
}
free(p);
(2)使用:
for(int i = 0; i
Printf(“%d\t”,*(*p+i));
或者
printf(“%d\t”,(*p)[i]);
(3)传参:int Fun(int (* ppp)[]);
(4)返回值:int (*Fun(int (*ppp)[]))[];
2.指针数组:
(1)定义及初始化:
int a= 10 , b = 10 , c = 10;
int *array[3] = {&a,&b,&c};
或者:
int *array[5];
for(int n=0;n
{
array[n] = (int *)malloc(sizeof(in));
*array[n] = n+1;
}
(2)使用:
for(int i=0; i < len ; i++)
{
Printf(“%d”,*array[i]);
或者:
printf(“%d”,**(array+i));
}
(3)返回值:可以返回(void *)
int ** Fun()
{
int a=8,b=88,c=888,d=8888;
int * array[] = {&a,&b,&c,&d};
int **e = &(p[0]);
return e;
}
领取专属 10元无门槛券
私享最新 技术干货