十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用指针就可以了,如
成都创新互联公司专注于绥阳网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供绥阳营销型网站建设,绥阳网站制作、绥阳网页设计、绥阳网站官网定制、小程序设计服务,打造绥阳网络公司原创品牌,更为您提供绥阳网站排名全网营销落地服务。
定义有int a[5];
则这样定义函数:
int fun(int *p, int size)
{
//p为数组的首地址
//size为数组的大小
//传递进去后可以像操作a一样用下标操作p
//如p[0], p[4]...
}
传递参数给函数可以这样写:
fun(a, 5);
若是多维数组,则第一维大小不给出,只指定后面的维数大小,如:
定义有int a[5][2];
则这样定义函数:
int fun(int p[][2], int size)
{
//p为数组的首地址
//size为第一维的大小
//传递进去后可以像操作a一样用下标操作p
//如p[0][1], p[4][1]...
}
传递参数给函数可以这样写:
fun(a, 5);
C和C++都没有办法传数组,只能传“指针”,指针和数组的差别就在于函数内无法检测数组的尺寸
c语言中、数组在函数中的传递可以数组元素的传递!还有就是数组名的传递!其实、数组名的传递类似指针!就是把数组的元素的首地址传到形参的!
比如函数需要一个整型数组:
void ex(int a[])
{
}
或者可以写成:
void ex(int *a)
{
}
效果是一样的。
使用的时候:
引用数组中的第2个元素(即下标为1的元素)
a[1]
或者*(a+1)
基本上与数组的正常使用没有区别。
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
例:
#includestdio.h
void fact(int *p, int n)
{
for(i = 0; i n; ++i)
{
printf("%d ", p + i);
}
printf("\n");
p[3] = 6;
}
int main()
{
int a[5] = {1, 2, 3, 4, 5};
fact(a, 5);
for(i = 0; i 5; ++i)
{
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
在C语言中,字符串是以字符数组方式保存的,于是字符串数组可以用二维字符数组存储。
输入时,每次输入字符串数组的一个元素(一行),根据需要,使用scanf或gets进行输入。
如:
char str[10][100]; //定义字符串数组,供10行,每行最多100个字节数据。
int i;
for(i = 0; i 10; i ++)
scanf("%s",str[i]);//输入10行字符串数据。