函数与数组

文章详细阐述了指针数组和数组指针在C语言中的概念,包括如何定义和使用。指针数组是一个数组,其元素是指针;数组指针则是一个指针,它指向一个数组。文中还讨论了如何将数组作为函数参数传递,以及不同维度数组的类型表示。对于数组作为返回值的情况,文章给出了示例,特别是一维和二维数组的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

指针数组              其本质是一个数组,但是它的元素存放指针     

char * a[3]            申请一片空间里面放了三个char *类型的 元素

数组指针              其本质是一个指针用于指向一个数组                 

char (*p)               指向一个一维数组

char (*p)[2]           指向一个[ ][2]类型的二维数组

用数组指针指向一个指针数组

定义一个指针数组   char *a[3]={"hello","is","me"};

定义一个数组指针   char *(*p) ;

p=a;                p就指向了a这指针数组          

数组作为形参

一维数组

int a[2]                数组类型    int [2]                申请一片空间里面放了两个 int类型的 元素

fun(a)                 a的类型        int *

二维数组

int a[2][3]                数组类型 int[2][3]             申请一片空间里面放了两个 int[3] 类型的 元素

                                                                        每个int [3] 内含有3个int类型的元素

因此int[2][3]            一共可以存放6个int类型的元素                                                            

fun(a)                      a的类型 int (*)[3]

fun(int (*p)[3])

fun(int p[2][3])

fun (int [][3])

多维数组

int a[2][3][4];                 数组类型 int [2][3][4]

fun(a);                          a的类型int (*)[3][4] 

fun(int (*p)[3][4])

fun(int p[][3][4])

fun(int p[2][3][4])

数组作为返回值

一维数组:

int  * fun(void)

{

int arr[];

return arr;

}

二维数组:

int (*fun(void))[3] 

{

int arr[2][3];

return arr;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值