欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

c语言中,多维数组做函数参数退化的问题

程序员文章站 2023-12-31 14:48:28
...

在c语言中,多维数组做函数参数,会退化为指针。具体看如下代码

 

#include<stdio.h>


void call(char* array[])
{
	int num = sizeof(array) / sizeof(*array);   //二级指针array和一级指针*array是一样大小的,所以是1
	printf("%d  \n", num);   //这里输出1,表明多维数组做函数参数,会退化为多维指针

	printf("%s\n", array[0]);
}

int main()
{
		
    //定义数组指针的第一种类型
	char* array[] = { "aa","bb","cc","dd" };

	int num = sizeof(array) / sizeof(*array);   //输出4,代表这个数组有4个元素
	call(array);

	printf("%d \n", num);



}

 

 

上一篇:

下一篇: