- 浏览: 279233 次
- 性别:
文章分类
最新评论
编写一个对数组进行操作的函数,目的是返回数组内所用元素的和。
第一种形式:函数原型为int sum(int ar[],int n)
#include<stdio.h> #define SIZE 4 int sum(int ar[],int n); int main(int argc,char *argv[]) { int arrays[SIZE] = {1,2,3,4}; long answer; answer = sum(arrays,SIZE); printf("total:%ld.\n",answer); printf("the size of arrays is %ld bytes.\n",sizeof(arrays)); return 0; } int sum(int ar[],int n) { int total; for(int i =0; i < n; i++) total += ar[i]; printf("the size of ar is %zd bytes\n",sizeof ar); }
程序运行的结果:
the size of ar is 4 bytes
total:10.
the size of arrays is 16 bytes.
请按任意键继续. . .
可以看出ar本身不是一个数组,它是一个指向arrays的首元素的指针。
第二种形式: 函数原型:int sum(int *ar,int n)
#include<stdio.h>
int sum(int *a,int n);
#define SIZE 4 int main(int argc,char *argv[]) { int arrays[SIZE] = {1,2,3,4}; long answer; answer = sum(arrays,SIZE); printf("total:%ld.\n",answer); printf("the size of arrays is %ld bytes.\n",sizeof(arrays)); return 0; } int sum(int *ar,int n) { int total = 0; //要初始化 for(int i =0; i < n; i++) total += ar[i]; //ar[i] 与*(ar +i)相同 printf("the size of ar is %d bytes\n",sizeof ar); return total; }
运行结果与第一种形式一样
第一种和第二种方式好像是一样的吧?
第三种方式:传递数据开始与结束地址。函数原型:
#include<stdio.h> #include<string.h> #define SIZE 4 int sum(int *start,int * end); //void swap(int * a,int * b); int main(int argc,char *argv[]) { int arrays[SIZE] = {1,2,3,4}; long answer; answer = sum(arrays,arrays + SIZE); printf("total:%ld.\n",answer); return 0; } int sum(int *start,int *end) { int total = 0; //要初始化 while(start < end) { total +=*start; start++; } return total; }
运行结果:
total:10.
请按任意键继续. . .
发表评论
-
C中结构体
2013-01-09 15:47 591把结构体保存到文件中,用fwrite()函数: fwrite ... -
关于socket编程中基本函数介绍
2012-11-03 13:57 996源自:http://blog.sina.com.cn/s/bl ... -
C中需要注意的小问题
2012-09-27 08:59 7821.在用scanf()函数读入double型数值时要用%lf的 ... -
指针和多维数组
2011-12-26 10:03 786摘自:《C primer plus》 指针和多位数组 ... -
C中<ctype.h>库
2011-12-19 20:21 695标准库<ctype.h> 1 ... -
C中double类型数据的输入和输出
2011-12-19 10:04 12347double a; scanf(" ... -
C中printf()和scanf()函数说明
2011-12-16 19:58 1559下面是对printf()和scanf()函数的说明: ... -
C中转义序列及其含义
2011-12-15 20:27 942转义序列: 序列 ... -
C中各数据类型取值范围
2011-12-15 19:31 13651.标准头文件<limits.h>中包含了 ... -
C中常用的类型转换函数
2011-12-14 17:34 785源自:http://hi.baidu.com/hao_%BF% ... -
C语言格式化输出系统时间
2011-12-14 17:04 5899源自:http://blog.csdn.net/jiadeli ... -
C中目标代码文件,可执行文件和库
2011-12-14 10:19 1932C编程的基本策略是使用程序将源代码文件转换为可执行 ... -
vs2008下vc的库函数及头文件存放位置
2011-12-13 22:14 4504在写C/C++程序时总会在开头包含一些头文件,如:#inclu ... -
malloc()函数
2011-12-12 17:35 0待写 -
用C写的模拟掷骰子程序
2011-12-12 16:47 2320整理自:《C Primer Plus》第五版 此程序包 ... -
C中字符串的输入输出及相关函数
2011-12-27 21:59 3821//本节内容摘自对Stephen Prata的《C Prime ... -
指针的基本操作以及关于指针的注意事项
2011-12-11 17:42 895一. 指针的基本操作有:赋值(assignment),求值(v ... -
关于*与++的优先级
2011-12-11 16:53 1663C中一元运算符*和++具有相等的优先级,但它们在结合时是从右向 ... -
C中有关数组的说明
2011-12-09 11:10 746下面介绍一下关于数组的一些说明: 在数组声明时必须 ... -
C语言中对sizeof()和strlen()的说明
2011-12-09 10:01 10931.sizeof函数 sizeof函数返回表达式所占的内存空 ...
相关推荐
主要给大家介绍了关于C语言中二维数组作为函数参数来传递的三种方法,文中通过示例代码介绍的非常详细,对大家学习或者使用C语言有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
向DLL传递数组参数的实现方法。@易语言代码编写例子。
可能有很多人对java的传递数组比较模糊,毕竟java中的数组和c的数组有一些不同。阅读它,也许对你有帮助。
vue 中 get delete 传递数组参数方法 在前后端交互的时候,有时候需要通过 get 或者 delete 传递一个数组给后台,但是这样直接传递后台无法接收数据,因为在传递的过程中数组参数会被转译,结果如下: 参数:{ ...
#include #include <stdlib.h> //产生随机数所需头文件 using namespace std; using std::cout; using std::cin;... //数组作为参数传递 cout最大值是:"(a); cout最小值是:"(a); // cin>>i; return 0; }
C语言中,二维数组的参数传递。 例如: char str[5][100]; 如果作为参数传递,内有详细示例。 三种传参示例供参考。
在C++中,通过多维数据的指针作为函数参数传递源程序
主要介绍了C#中的数组作为参数传递所引发的问题 的相关资料,需要的朋友可以参考下
基本解释 1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。 ... 3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
1. 使用python给C语言函数传递数组类型的参数 想必很多时候,C语言会使用数组作为参数,在之前我们使用过ctypes的一些数据类型作为C语言参数类型,包括byte、short、int、double之类的,但是在使用数组类型的时候,...
实验六 数组及其应用一、实验目的(1)掌握数组定义的规则(2)掌握C语言数组的基本用法(3)掌握数组名作为函数参数传递的方法二、实验内容(1)分析运行结果 P3
C语言编程技术实践2020版 数组作为函数参数传递教学单元设计.doc 学习资料 复习资料 教学资源
传递参数传递字符串,所以要把数组转换为字符串, var arr=[1,23,34,5]; var str = arr.toString(); str传递到后台,str.split(” , “);将字符串拆分得到元素。 var arr=[1,23,34,5]; var str = arr.toString(); ...
1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。 2、数组名对应着(而不是指向... 3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
7. C中可变参数函数实现 38 8. C程序内存中组成部分 41 9. C编程拾粹 42 10. C语言中实现数组的动态增长 44 11. C语言中的位运算 46 12. 浮点数的存储格式: 50 13. 位域 58 14. C语言函数二维数组传递方法 ...
主要介绍了C语言中的参数传递机制,C语言中函数参数的传递有:值传递、地址传递、引用传递这三种形式。下面我们详细探讨下
里面包含python与c++两个文件,传递的数组类型是std标准库Float32MultiArray类型
当我们向后台传送时只需要在javascript中正常定义并使用数组,将其作为参数向后台传递: 代码如下: var arry= new Array(); arry[0] = “102”; arry[1] = “103”; arry[2] = “104”; url = “test.jsp?arry=”+...