侵权投诉

图文详解:数组和指针的传参

2020-06-29 15:34 次阅读

传参

数组:

数组传参时,会退化为指针,所以我们先来看看什么是退化!

(1)退化的意义:C语言只会以值拷贝的方式传递参数,参数传递时,如果只拷贝整个数组,效率会大大降低,并且在参数位于栈上,太大的数组拷贝将会导致栈溢出。

(2)因此,C语言将数组的传参进行了退化。将整个数组拷贝一份传入函数时,将数组名看做常量指针,传数组首元素的地址。

1.一维数组的传参

图文详解:数组和指针的传参

2.二维数组的传参

图文详解:数组和指针的传参

指针:

1.一级指针传参

当函数参数部分是一级指针时,可以接受什么参数例如:test(int*p)

(1)可以是一个整形指针

(2)可以是整型变量地址

(3)可以是一维整型数组数组名

图文详解:数组和指针的传参

2.二级指针传参

即当函数参数部分是二级指针时,可以接受什么参数例如:test(int**p)

(1)二级指针变量

(2)一级指针变量地址

(3)一维指针数组的数组名

图文详解:数组和指针的传参

收藏 人收藏
分享:

评论

相关推荐

Python标准库中文版资料合集

Python 的标准库包括了很多的模块, 从 Python 语言自身特定的类型和声明, 到一些只用于....
发表于 08-06 08:00 18次 阅读
Python标准库中文版资料合集

谭浩强版C语言程序设计PDF电子书免费下载

C语言是在 70 年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。....
发表于 08-06 08:00 22次 阅读
谭浩强版C语言程序设计PDF电子书免费下载

电子工程师成长之教训系列故事(上)终身受用的启发

勤奋真的很重要,特别是年轻人,不轻言放弃,遇事有钻研精神是技术上能有所成就的基本要求。只有亲身经历过....
的头像 电子发烧友网 发表于 08-05 14:52 157次 阅读
电子工程师成长之教训系列故事(上)终身受用的启发

C语言/C++基本语句编程风格

千万留意,无论是float还是double类型的变量,都有精度限制,所以一定要避免将浮点变量用“==....
的头像 玩转单片机 发表于 08-05 11:03 72次 阅读
C语言/C++基本语句编程风格

C语言开发单片机为啥都是全局变量形式?

要成为一个资深的嵌入式工程师相当难,一方面要有非常扎实的理论知识,同时也要有相当的那种大型的、高频C....
的头像 玩转单片机 发表于 08-05 10:35 138次 阅读
C语言开发单片机为啥都是全局变量形式?

单片机初学者都会遇到的10个问题

汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少....
的头像 玩转单片机 发表于 08-05 10:28 83次 阅读
单片机初学者都会遇到的10个问题

C语言指针详解

函数指针,形如: #define PMYFUN (void*)(int,int) ,可以用在大量分支....
的头像 玩转单片机 发表于 08-05 10:17 58次 阅读
C语言指针详解

有没有想过为什么嵌入式开发要使用C语言呢?

新型的单片机,寄存器成百上千,全靠记忆简直天方夜谭,复杂的大型项目不是一个人能完成的,汇编的移植性和....
的头像 玩转单片机 发表于 08-05 10:14 98次 阅读
有没有想过为什么嵌入式开发要使用C语言呢?

关于单片机程序跑飞死机的原因

若定义某些会在中断中修改的全局变量,这时要注意两个问题:首先为了防止编译器优化中断变量,要在这些变量....
的头像 玩转单片机 发表于 08-04 17:13 136次 阅读
关于单片机程序跑飞死机的原因

采用标准C的强制转换和指针的概念来实现访问MCU的寄存器

总结一下,就是(*(volatile unsigned char *)0x25)可以看作是一个普通变....
的头像 玩转单片机 发表于 08-04 16:44 147次 阅读
采用标准C的强制转换和指针的概念来实现访问MCU的寄存器

益智游戏克星:BFS暴力搜索算法

给你一个 2x3 的滑动拼图,用一个 2x3 的数组board表示。拼图中有数字 0~5 六个数,其....
的头像 算法与数据结构 发表于 08-03 16:53 158次 阅读
益智游戏克星:BFS暴力搜索算法

超声波测距LCD12864显示的C语言程序和工程文件免费下载

本文档的主要内容详细介绍的是超声波测距LCD12864显示的C语言程序和工程文件免费下载。
发表于 07-30 17:16 33次 阅读
超声波测距LCD12864显示的C语言程序和工程文件免费下载

超声波测距LC1602显示的C语言程序和工程文件

  本文档的主要内容详细介绍的是超声波测距LC1602显示的C语言程序和工程文件。
发表于 07-30 17:16 27次 阅读
超声波测距LC1602显示的C语言程序和工程文件

请问结构体数组怎么声明?

试试typedef  struct node { int date; int next; }linklist; 话说哪位老司机解释下,结构体数组怎么声明 ...
发表于 07-30 11:42 0次 阅读
请问结构体数组怎么声明?

如何这个也可以强制转换么?

这个也可以强制转换么?
发表于 07-30 06:52 0次 阅读
如何这个也可以强制转换么?

C语言的拓展归纳总结详细说明

本文档的主要内容详细介绍的是C语言的拓展归纳总结详细说明。
发表于 07-29 08:00 46次 阅读
C语言的拓展归纳总结详细说明

C语言教程之struct结构体的详细资料说明

将多个数据类型组合成一个实体,定义了了结构体,就定义了一个新的数据类型。用简单的类型封装成复杂的类型....
发表于 07-29 08:00 31次 阅读
C语言教程之struct结构体的详细资料说明

C语言动态链表的详细资料说明

  动态链表:在程序执行的过程中,动态地开辟一块内存空间,可以是不在一起的内存空间,通过链表联系起来....
发表于 07-29 08:00 28次 阅读
C语言动态链表的详细资料说明

C语言空间开辟的教程资料说明

本文档的主要内容详细介绍的是C语言空间开辟的教程资料说明1.系统自动分配内存空间的变量 不使用关键....
发表于 07-29 08:00 37次 阅读
C语言空间开辟的教程资料说明

C语言的声明和定义与引用说明

本文档的主要内容详细介绍的是C语言的声明和定义与引用说明
发表于 07-29 08:00 34次 阅读
C语言的声明和定义与引用说明

C语言的扩展资料说明

编译器不能定义编程中所有的东西,可以提供规则让程序员定义自己的东西
发表于 07-29 08:00 28次 阅读
C语言的扩展资料说明

C语言数组的学习教程说明

同样我们在程序中也需要容器,只不过该容器有点特殊,它在程序中是一块连续的,大小固定并且里面的数据类型....
发表于 07-29 08:00 20次 阅读
C语言数组的学习教程说明

了解一些C程序的基本规则

程序由一个或多个函数组成,其中一定有一个名为 main()的函数。函数的描述由函数头和函数体组成。函....
的头像 lhl545545 发表于 07-27 11:01 237次 阅读
了解一些C程序的基本规则

如何实现电子密码锁的设计

根据设定好的密码,采用二个按键实现密码的输入功能,当密码输入正确之后,锁就打开,如果输入的三次的密码....
的头像 Wildesbeast 发表于 07-26 10:35 408次 阅读
如何实现电子密码锁的设计

设计一个多路多功能的智力竞赛抢答器资料说明

我们为适应高校等多代表队单位活动的需要一个多路抢答器设计 ,讲述了电路各部分的设计及功能 ,并说明了....
的头像 Wildesbeast 发表于 07-26 10:34 370次 阅读
设计一个多路多功能的智力竞赛抢答器资料说明

请问自学汇编语言汇编语言需要什么?

    学过C语言和Java 学过51单片机, 现在想学习ARM 汇编语言 嵌入式系统Linux 这几个 有什么相关的视频或...
发表于 07-26 08:03 0次 阅读
请问自学汇编语言汇编语言需要什么?

自学C语言的好方法有哪些?

    计算机小白一枚,自学C语言中。但目前还很不熟练。碰到书上稍微比较难的例子,不看答案自己去思考的话,脑子就一...
发表于 07-26 08:03 0次 阅读
自学C语言的好方法有哪些?

DSP的设计与实现详细说明

本课程主要结合TMS320C54X、TMS320LF240X两个系列DSP介绍DSP的相关结构原理、....
发表于 07-24 17:31 53次 阅读
DSP的设计与实现详细说明

电力电子应用技术的MATLAB仿真破PDF电子书免费下载

本书概述了MATLAB软件及其图形仿真界面Simulink的基础应用知识,详细介绍了用于电力电子仿真....
发表于 07-23 08:00 80次 阅读
电力电子应用技术的MATLAB仿真破PDF电子书免费下载

实现光敏和热敏电阻实验的C语言程序和电路图与数据手册等资料

本文档的主要内容详细介绍的是实现光敏和热敏电阻实验的C语言程序和电路图与数据手册等资料。
发表于 07-21 08:00 42次 阅读
实现光敏和热敏电阻实验的C语言程序和电路图与数据手册等资料

使用C#实现Interlocked线程同步的程序免费下载

本文档的主要内容详细介绍的是使用C#实现Interlocked线程同步的程序免费下载。
发表于 07-21 08:00 19次 阅读
使用C#实现Interlocked线程同步的程序免费下载

单片机用什么编程

单片机编程用汇编和C语言的比较多。其中C语言属于比较常用比较基础的语言,很多人大学期间都学,也相对比....
发表于 07-20 09:45 102次 阅读
单片机用什么编程

使用C#实现Gettype和类的typeof反射获取实例的详细说明

本文档的主要内容详细介绍的是使用C#实现Gettype和类的typeof反射获取实例的详细说明 ....
发表于 07-20 08:00 36次 阅读
使用C#实现Gettype和类的typeof反射获取实例的详细说明

C语言的几种位操作运算程序详细说明

在汇编语言中有直接对位进行操作的指令,如置位、复位、位取反、测试某一位等,这对于硬件操作十分方便,在....
的头像 Wildesbeast 发表于 07-18 12:00 474次 阅读
C语言的几种位操作运算程序详细说明

单片机的95个问题详细解答

关于单片机的N多问题1. C语言和汇编语言在开发单片机时各有哪些优缺点?答:汇编语言是一种用文字助记....
的头像 Wildesbeast 发表于 07-18 10:10 835次 阅读
单片机的95个问题详细解答

C语言是如何控制硬件的?

    提到C语言就会想到单片机编程,像java python 这些就是纯软件编程语言,不会和硬件打交道。为什么C可以和硬件打...
发表于 07-18 08:06 1次 阅读
C语言是如何控制硬件的?

C语言版cla的程序中可以使用局部变量吗?

interrupt void Cla1Task1(void) [    int i;    for (i=0; i...
发表于 07-17 14:53 0次 阅读
C语言版cla的程序中可以使用局部变量吗?

一款同步Redis数据的异地机房同步数据程序和工程文件

Redis即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志....
发表于 07-17 08:00 39次 阅读
一款同步Redis数据的异地机房同步数据程序和工程文件

51单片机汇编语言程序设计的学习课件资料概述

MCS-51单片机的编程语言可以是汇编语言也可以是高级语言(如C语言),高级语言编程快捷,但程序长,....
发表于 07-16 15:50 47次 阅读
51单片机汇编语言程序设计的学习课件资料概述

单片机汇编语言和C语言的特点

单片机是一种可编程器件,单片机的出现使硬件设计变得更为简单,产品的功能也更强大,而程序就是单片机的灵....
发表于 07-15 17:29 68次 阅读
单片机汇编语言和C语言的特点

C语言的编程规范详细概述

今天人们越来越明白软件设计更多地是一种工程而不是一种个人艺术由于大型产品的开发通常由很多的人协同作战....
发表于 07-15 17:29 44次 阅读
C语言的编程规范详细概述

如何快速有效的学习单片机

学习单片机需要具备一定的电路基础、数字电路、模拟电路、信号系统、C语言编程等相关的基础知识。单片机的....
发表于 07-15 17:26 104次 阅读
如何快速有效的学习单片机

C语言温度控制系统的源代码

C语言温度控制系统的源代码
发表于 07-15 08:00 35次 阅读
C语言温度控制系统的源代码

如何给C语言增加几个位操作函数

在汇编语言中有直接对位进行操作的指令,如置位、复位、位取反、测试某一位等,这对于硬件操作十分方便,在C语言中尽管也提供了...
发表于 07-14 18:15 136次 阅读
如何给C语言增加几个位操作函数

C语言的几种位操作运算

在汇编语言中有直接对位进行操作的指令,如置位、复位、位取反、测试某一位等,这对于硬件操作十分方便,在C语言中尽管也提供了...
发表于 07-14 18:14 127次 阅读
C语言的几种位操作运算

嵌入式软件开发ARM中断实验的报告资料说明

一、实验目的(1)、学会使用 Embest IDE 编写简单的 C语言程序并进行调试;(2)、了解不....
发表于 07-14 16:42 44次 阅读
嵌入式软件开发ARM中断实验的报告资料说明

单片机C语言延时程序的注意事项

标准的C语言中没有空语句。但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果。这在汇编语....
发表于 07-14 11:13 74次 阅读
单片机C语言延时程序的注意事项

单片机C语言代码编写技巧

下面发一些我在网上看到的单片机C语言代码编写技巧和自己的一些经验来和大家分享;
发表于 07-14 11:02 112次 阅读
单片机C语言代码编写技巧

C语言的进阶学习课件资料合集

本文档的主要内容详细介绍的是C语言的进阶学习课件资料合集包括了:第1节-数据的存储,第2节-指针的进....
发表于 07-14 08:00 54次 阅读
C语言的进阶学习课件资料合集

Keil uVision4的使用详解教程概述

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有....
发表于 07-13 08:00 60次 阅读
Keil uVision4的使用详解教程概述

分享 郭天祥 十天学会C语言和51单片机视频教程+代码

郭天祥 郭天祥 十天学会C语言和51单片机 详细教程源码 回复可得 链接:https://pan.baidu.com/s/1uWWpG-o_EVscRZ3ys...
发表于 07-12 21:31 298次 阅读
分享 郭天祥 十天学会C语言和51单片机视频教程+代码

如何把C++的源程序改写成C语言

由于C++解释器比C语言解释器占用的存储空间要大500k左右。为了节省有限的存储空间,降低成本,同时也为了提高效率,将用C+...
发表于 07-11 09:34 1912次 阅读
如何把C++的源程序改写成C语言

关于ARM的三种中断调试方法介绍

在整个流程中,用户首先需要建立工程并对工程做初步的配置,包括配置处理器和配置调试设备。编辑工程文件,....
发表于 07-10 16:01 71次 阅读
关于ARM的三种中断调试方法介绍

使用C语言写出的九九乘法表

本文档的主要内容详细介绍的是使用C语言写出的九九乘法表资料合集免费下载。
发表于 07-10 08:00 46次 阅读
使用C语言写出的九九乘法表

C语言之结构体的声明与定义

我们刚刚申请了一个名叫Info的结构体类型,那么理论上我们可以像声明其他变量的操作一样,去声明我们的....
的头像 玩转单片机 发表于 07-09 09:06 315次 阅读
C语言之结构体的声明与定义

讲解Java数组

讲解Java数组
发表于 07-08 15:41 22次 阅读
讲解Java数组

单片机C语言程序设计的详细资料

C语言目前己成为电子工程师进行单片机系统开发时的常用编程语言。用C语言来编写目标系统软件,会大大缩短....
发表于 07-07 14:48 88次 阅读
单片机C语言程序设计的详细资料