C 语言传递数组给函数的三种形式
以下内容来自菜鸟教程,贴在此做笔记
方式 1
形式参数是一个指针:
void myFunction(int *param)
{
.
.
.
}
方式 2
形式参数是一个已定义大小的数组:
void myFunction(int param[10])
{
.
.
.
}
方式3
void myFunction(int param[])
{
.
.
.
}
①这三种方式就是数组作为参数的时候形式,在实际传递过去的时候,我们给这个参数传递的是一个指针
例如:int balance[100]myFunction( balance) ;注意首地址和指针的区别:
②数组首地址为一个常量,而指针是一个变量
③数组首地址不可以作为左值(常量不可以作为左值),而指针可以
例如::int a[]: a=1;是错误的
④数组名也是指针,但是为什么不能被赋值?
:数组名在表达式中表示指向首元素的指针常量,这个常量运行时才被分配到栈中,既然是常量当然不允许修改,一旦定义就不能再被赋值了。
⑤c中不支持函数返回局部变量的地址?
函数中不能返回局部变量,因为在c中这些局部变量都是存储在栈中的,随着他们的作用域的消失而消失,局部变量的指针也是局部变量。如果我们要返回一个局部变量的指针
有两种方法
一、把这个指针声明为static
二、自己为这个指针所指的内容申请空间,这样的话只要自己没有释放这个变量,这个变量在整个程序的运行过程中就会一直存在
C 语言传递数组给函数的三种形式相关推荐
- php数组书写形式,php数组(array)输出的三种形式讲解
php数组(array)输出的三种形式讲解 发布于 2015-01-30 15:57:43 | 119 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hyperte ...
- java光标移动函数_文件内光标的移动 函数基础 定义函数的三种形式 函数的返回值 调用方式...
# with open(r'a.txt', 'r', encoding='utf-8')as f: # data1=f.read() # print('>1>:',data1) # pri ...
- C语言传递数组给函数方式
目录 方式 1 方式 2 方式 3 实例 如果想要在函数中传递一个一维数组作为参数,必须以下面三种方式来声明函数形式参数,这三种声明方式的结果是一样的,因为每种方式都会告诉编译器将要接收一个整型指针. ...
- Python中定义函数的三种形式
一.无参函数 定义函数时参数是函数体接收外部传值的一种媒介,其实就是一个变量名 在函数阶段括号内没有参数,称为无参函数.需要注意的是:定义时无参,意味着调用时也无需传入参数. 如果函数体代码逻辑不需要 ...
- Python定义函数的三种形式
一.无参函数 定义函数时参数是函数体接收外部传值的一种媒介,其实就是一个变量名 在函数阶段括号内没有参数,称为无参函数.需要注意的是:定义时无参,意味着调用时也无需传入参数. 如果函数体代码逻辑不需要 ...
- C语言之数组(数组赋值的三种形式)
在C语言中,对数组进行赋值的三种形式 1.通过循环的形式 即:数组名[下标] 对数组的元素进行依次赋值 #include <stdio.h> int main() {in ...
- C++传递数组给函数
C++传递数组给函数 C++中可以通过指定不带索引的数组名来传递一个指向数组的指针. C++传数组给一个函数,数组类型自动转换为指针类型,因而传的实际是地址. 如果您想要在函数中传递一个一维数组作为参 ...
- 函数参数传递三种方式(传值方式,地址传递,引用传递)
函数参数传递三种方式(传值方式,地址传递,引用传递) 形参与实参 形参即形式上的参数,对实参的一种抽象类型描述只是声明一个函数能够接受什么类型的实参,而不确定接受的实参的具体内容是什么 实参即传递给函 ...
- c语言函数三种方式,c语言函数的三种调用方式是什么
函数的三种调用方式:1.函数作为表达式中的一项出现在表达式中,例"z=max(x,y)":2.函数作为一个单独的语句,例"printf("%d",a) ...
最新文章
- 计算机病毒实践汇总五:搭建虚拟网络环境
- Win32 API 窗口版本转换度分秒为小数
- 初学者学习Java的几大技巧
- 光模块和光纤收发器的区别是什么?
- Python深度学习:No handles with labels found to put in legend.
- idea 父文件_万事开头难!最新MyBatis程序配置教程(IDEA版)
- 算法中的算子是什么意思,图像处理一样理解
- Python中列表实现:输入年月日,输出本年的第?天
- 通俗讲解比特币的原理及运作机制
- 自回归模型(AR Model)
- stm32霍尔编码器
- 裁剪的uincoide的点阵字库结构设计
- java求闰年_Java判断闰年的2种方法示例
- 20211高考成绩查询,青岛理工大学教务系统URP成绩查询、网上选课查分 http://211.64.192.21/,精英高考网...
- 武汉大学计算机学院参考书,武汉大学计算机应用技术研究生考试科目和考研参考书目...
- Cstyle的UEFI导读: UEFI的N种实现及差别
- 腾讯搜搜高管吴军离职的传闻与真相
- 新来个阿里 P7,仅花 2 小时,撸出一个多线程永动任务,看完直接跪了,真牛逼
- win7系统计算机分级怎么弄,win7系统分级点不进去,win7系统分级无法评估磁盘
- java jsonpath过滤_JSONPATH json解析工具
热门文章
- mysql导入库指令_mysql数据库指令导入导出
- 代码审计系列篇一之代码审计学习思路
- Visual Studio Code 构建C/C++开发环境
- easyui tree 默认选中第一个元素
- XenApp/XenDesktop 7.11 对于HDX 3D pro的2点增强
- RDMBorderedButton
- Debenham养老金项目关键流程4-Opt in 流程
- reviewboard安装实战
- webservice studio 参数是DataSet时不支持中文 解决方法
- VideoLan 0.8.6b test 1