下面我通过一个程序来介绍c++语言中数组形参的使用方法
//第一种
#include "stdafx.h"
int arr[]={1,2,3,4,5,6,7,8};
int fun(int arr1[],int len)
{
int sum=0;
for(int i=0;i
{
sum+=arr[i];
}
return sum;
}
int _tmain(int argc, _TCHAR* argv[])
{
int len1=sizeof(arr)/sizeof(int);
int sum1=fun(arr,len1);
printf("%d
",sum1);
return 0;
}
// a003.cpp : 定义控制台应用程序的入口点。
//
//第二种
#include "stdafx.h"
double at[]={1.1,2.2,3.3,5.7};
double fun3(double *pi,int len)
{
double all=0.0;//要赋值!!!!!!!
for(int i=0;i
关键字:C++ 数组形参
引用地址:C++数组形参的使用
{
all+=*pi;
pi++;//数组加加
}
return all;
}
const int xy=200;
int _tmain(int argc, _TCHAR* argv[])
{
double r1=fun3(at,sizeof(at)/sizeof(double));
printf("%f
",r1);
return 0;
}
上一篇:C++堆栈、参数的传递与指针
下一篇:C++类指针指向子类还是基类的判断方法
推荐阅读最新更新时间:2024-03-16 14:01
在Keil C51函数中加入ASM代码
使用C51进行单片机编程是事半功倍的事,但是很多算法上以及编译上的问题,往往使用ASM代码更为方便又高效。但不知什么原因,Keil在实现C51夹杂ASM代码比SDCC麻烦很多,方法如下: 预处理指令 #pragma asm 开始ASM代码 预处理指令 #pragma endasm 结束ASM代码 如果就这样直接编译的话,会出现以下错误: error C272: 'asm/endasm' requires src-control to be active 解决方法:在 Files Toolbar 中选中当前C51文件,点右键查看文件选项,将 Generate Assembler SRC File 与 Assembl
[单片机]
用单片机实现基于I2C串行总线的音频处理系统
目前,消费类电子产品(如彩电、音响等)的功能多样化使得控制电路变得更为复杂。而Philips公司推出的集成电路芯片间总线I2CBUS(Inter ICBUS)是目前众多总线中最简洁有效、使用也为广泛的一种总线格式。I2C总线通常是以硬件来实现的,这就要求所选器件必须具有I2C总线接口,但目前广泛使用的MCS-51系列单片机并不具备I2C总线的专用硬件部分。本文结合笔者采用单片机8031实现对具有I2C总线接口的立体声音频处理芯片TDA7313的控制,介绍了I2C总线以及基于I2C串行总线的单片机应用系统的设计方法和程序。 1 I2C总线简介 1.1 I2C总线的组成 I2C串行总线是用双向数据线(SDA)和串行时钟线(
[单片机]
S3C2440中断控制器
S3C2440A 中的中断控制器接受来自 60 个中断源的请求。提供这些中断源的是内部外设,如 DMA 控制器、 UART、IIC等等。在这些中断源中,UARTn、AC97 和EINTn中断对于中断控制器而言是 或 关系。 当从内部外设和外部中断请求引脚收到多个中断请求时,中断控制器在仲裁步骤后请求ARM920T 内核的FIQ 或IRQ。 中断控制器所用到的专业寄存器,其详细的使用请看数据手册 SRCPND 中断标志(挂起)寄存器 写1时 对应位中断源有中断请求,写0时,对应位中断源无中断请求 INTPND 中断服务(挂起)寄存器 写1时 对应位中断源被响应,写0时,对应位中断源未被响应 。。。。
[单片机]
由AT89C51/55构成的温湿度自动检测系统
1系统硬件设计
系统结构如图1所示,采用ATMEL公司生产的51系列单片机AT89C55和AT89C51为核心,其中主机采用AT89C55、从机采用AT89C51。从机负责64点的数据检测,各检测点的温度和湿度经过温、湿度传感器及其转换电路转变为电压信号;经过矩阵网络进行信号选择,所得信号送到相应的信号放大整理电路放大,再进入A/D转换器,进行模数转换,将数字量送入从机,再经从机的数据处理,送给LED进行显示,同时定时传送给主机AT89C55;主机负责收集各粮仓内的数据(可监测50"100个粮仓),实现数据的保存、打印以及调用历史数据,并可巡回显示各粮仓的及时温湿度及报警状态。
AT89C55/51芯片是由ATMEL公司
[传感技术]
手把手教学51单片机第七课 | AT24C02的I²C总线数据传输
SCL(clock)时钟信号 SDA(data)数据总线 数据位的有效性规定 I²C总线进行数据传输时,时钟信号为高电平期间。数据总线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或者低电平状态才允许变化。 时序图 起始信号和终止信号 当时钟信号高电平, SDA变低电平,为起始信号,若SDA变高电平,为终止信号 起始信号产生后 ,总线处于占用状态 终止信号产生后,总线处于空闲状态 void start()//起始信号 { sda=1; delay(); scl=1; delay(); sda=0; delay(); } void stop()//
[单片机]
单片机C语言程序设计:TIMER0与TIMER1控制条形LED
/* 名称: TIMER0 与 TIMER1 控制条形 LED 说明:定时器 T0 定时控制上一组条形 LED ,滚动速度较快 定时器 T1 定时控制下一组条形 LED ,滚动速度较慢 */ #include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int uchar tc0=0,tc1=0; // 主程序 void main() { P0=0xfe; P2=0xfe; TMOD=0x11; // 定时器
[电源管理]
ARM-bootloader-C语言环境设计
一、栈初始化 1、概念解析 1.1栈 栈是一种具有后进先出性质的数据组织方式,也就是说后存放的先取出,先存放的后取出。栈底是第一个进栈的数据所处的位置,栈顶是最后进栈数据所处的位置。 1.2满栈和空栈 根据SP指针指向的位置,栈可以分为满栈和空栈。 1、满栈:当堆栈指针SP总是指向最后压入堆栈的数据 2、空栈:当堆栈指针SP总是指向下一个将要放入数据的空位置 ARM采用的是满栈 1.3、升/降栈 1、升栈:随着数据的入栈,SP指针从低地址- 高地址移动 2、降栈:随着数据的入栈,SP指针从高地址- 低地址移动 ARM采用的是降栈。有时候我们会说ARM采用的是满降栈。 1.4、栈帧
[单片机]
射频前端芯片GC1101替代RFX2401C用于2.4G无线壁挂音响
无线壁挂音响常用于学校教室无线教学、会议培训、商场超市、门店餐厅等,该设备具有可靠的配对方式,超强的抗干扰能力、低功耗等。壁挂音响是由音源输入设备、信号放大器(功放)和壁挂式扬声器组成,是一整套的音响系统,常用的工作频段是ISM2.4GHz自由频段,本文推荐使用地芯科技GC1101用于2.4G无线壁挂音响射频前端。 GC1101是一款面向IEEE 802.15.4/Zigbee,蓝牙无线传感网络以及其他 2.4GHz ISM频段无线系统的全集成射频功能的射频前端单芯片,采用CMOS工艺实现的单芯片器件,其内部集成了射频功率放大器,低噪声放大器以及芯片收发开关控制电路。 GC1101的常规应用主要包括工业控制自动化,智能家居
[嵌入式]
小广播
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐
最新单片机文章
更多热门文章
更多每日新闻
更多往期活动
- TMS320F28377S LaunchPad俱乐部已成立,让我们一起见证它高性能的魅力!
- 【TI 嵌入式研讨会集锦】小站添加了很多新内容,欢迎提货!
- Vicor 更好的供电方式提升无人机飞行时间飞行半径及有效载荷
- phyBOARD-i.MX 8M Plus 开发板来袭 免费申请进行时!
- 有奖直播:意法半导体SiC产品及其工业应用指南
- “USB 3.1 规范及重要测试需考虑的因素”江湖令,一起在吐槽中成长
- 英飞凌角度传感器应用解锁机看看你能找到几种?
- 2021年STM32中国峰会暨粉丝狂欢节 报名啦!
- 阅1SP0350V SCALE-2单通道即插即用型门极驱动器,参与PI答题享好礼!
- 英飞凌MERUS™ D类音频解决方案|【阅读赢好礼,下单送开发板】
11月13日历史上的今天
厂商技术中心