C语言:数组和函数(算数组大小,数组传参,数组形参)

您所在的位置:网站首页 数组作为函数形参 C语言:数组和函数(算数组大小,数组传参,数组形参)

C语言:数组和函数(算数组大小,数组传参,数组形参)

2024-07-09 20:34| 来源: 网络整理| 查看: 265

一.数组的大小计算(用sizeof): int a[3]; 一个整型数占用空间4个字节,3个占用空间12个字节 char b[3]; 一个char型占用空间1个字节,三个占用空间3个字节 printf("a数组的大小是:%d\n",sizeof(a)); printf("b数组的大小是:%d\n",sizeof(b)); printf("一个整数的空间是:%d\n",sizeof(a[0])); printf("一个字符型数的空间是:%d\n",sizeof(char)); 问: 两个数组有什么相同点,不同点 相同:数组的元素个数为3 不同: 1、数组的类型不同 2、数组的内存大小不同 问:如何计算数组中元素的个数。 数组的总大小/一个类型的大小 printf("a数组有%d个元素\n",sizeof(a)/sizeof(a[0])); 或者 sizeof(a)/sizeof(int) 二.数组的传参,传的是地址 : 当我们学到指针的时候,就可以将函数中的参数 int array[ ] 直接 改为 int *array void hanShu(int array[]){ 改成指针:void hanShu(int *array) } int main(){ int array[1] = {3}; hanShu(array); } 将array这个数组进行传参时,有两种方式: 1. hanShu(array); 2. hanShu(&array[0]); 总结:数组名 或者 取数组第一项 都可以作为数组的地址使用 (因为数组的第一项就是表示数组的地址) 三.数组的形参仅表示是一个地址,中括号中数组的大小是无效的 :

**void hanShu(int a[ ]) .

1.形式参数中,虽然写的一个数组的样子,中括号中数组的大小是无效的!!!!!! 2.这里不管中括号中写多少,都不能代表形参数组有多大! 3.这里的中括号的作用仅仅用来表示:该参数是一个数组,是一个(地址!)在问

windows啊哈c中,用4个字节表示地址,linux64位中用8个字节表示。**

.

四:代码如下: #include #include //第一个参数是数组的首地址,第二个参数是数组的个数 void arrayPrint(int datas[],int cnt) //形式参数中,虽然写的一个数组的样子,中括号中数组的大小是无效的!!!!!! //这里不管中括号中写多少,都不能代表形参数组有多大! //这里的中括号的作用仅仅用来表示:该参数是一个数组,是一个(地址!)在问windows啊哈c中,用4个字节表示地址,linux64位中用8个字节表示。 { //printf("数组的大小是:%d\n",sizeof(datas)); //printf("一个int数据的大小是:%d\n",sizeof(int)); //printf("函数调用中:datas 数组中元素个数为 %d个\n",sizeof(datas)/sizeof(datas[0])); int i; for(i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3