大家好,今天小编关注到一个比较有意思的话题,就是关于c语言函数传数组的问题,于是小编就整理了4个相关介绍c语言函数传数组的解答,让我们一起看看吧。
c语言如何对数组进行函数调用?
在 C 语言中,对数组进行函数调用需要先确定数组名和调用函数名。调用函数时需要按照数组大小确定参数数量,然后将实参按顺序传递给函数。函数返回后,将返回值按顺序存储在数组中。如果数组为空,则调用失败。因此,在 C 语言中,数组调用需要仔细声明并参数和返回值。
《C专家编程》:函数如何返回一个数组?
下面几种函数的写法都是等价的:
加不加*号,加多少*号,都是一样的。
《C专家编程》里说:这是一个在ANSI C中流行的不良方法,即调用函数和通过指针调用函数(或任意层次的指针间接引用)使用同一种语法。至于数组,也有对应的方法。这种做法进一步恶化了本来就有缺陷的“声明与使用相似”的设计哲学。
整型二维数组函数怎么传递?
1、函数中用二维数组作为形参,函数声明中可以指定所有维数的大小,也可以省略第1维的维数如:
void f(int array[3][10]); //正确
void f(int array[][10]); //正确上面的两种二维数组形参表示都是正确的。
2、函数中用二维数组作为形参,不能把第2维或者更高维的大小省略,如下面的定义是不合法的:
void f(int array[][]); //错误
因为从实参传递来的是数组的起始地址,在内存中按数组排列规则存放(按行存放),而并不区分行和列,如果在形参中不说明列数,则系统无法决定应为多少行多少列,不能只指定一维而不指定第二维,下面写法是错误的:
void f(int array[3][]); //错误 3、二维数组作为实参传递时,必须保证实参第2维的维数与形参第2维的维数相同,因为必须要保证形参和实参的数据类型一致。比如定义如下函数:
void f(int array[][10]);可以将如下数组传递给函数f。
int a[2][10] = {1,2,3,4};
C语言实现一个函数,将数组整体升序排列?
#include<iostream.h>
void sort(int a[],int n) //升序
{
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
int temp;
temp=a[i];
到此,以上就是小编对于c语言函数传数组的问题就介绍到这了,希望介绍关于c语言函数传数组的4点解答对大家有用。