技术标签: C语言 c语言 visualstudio
看到标题的小伙伴可能会有点疑惑,什么是指针数组,数组指针??傻傻分不清楚,不怕,听我慢慢道来。
要想弄清楚这两个概念,我们不妨举几个例子:
1、数组:
int arr[5] = {1,2,3,4,5};
这就是最简单的数组,数组中每个元素都是int类型,下面的图片帮助大家很容易理解。
数组可以将相同类型的数据整合到一起,你可以通过下标的方式或者指针的方式来访问,在这里不多赘述。
2、指针数组:
int *parr1[10]
形如以上形式的,叫做指针数组,其中:paar1先与[10]结合为parr1[10],为一个有10个元素的数组,其次再与int*结合,及每个元素的类型是int*。以下图片更方便大家理解:
注意:指针数组,本质上parr1是数组,因为优先级的关系,parr1先与[]结合,但是接下来要介绍的数组指针正好相反。
3、数组指针
int(*parr2)[10]
在第2点已经说过,数组指针因为()的缘故,优先级很高,所以parr2先与*结合为指针,并且是指向数组的指针,后面的[10]表示指向的数组里面有10个元素,每个元素为int型。下面的图更方便大家理解:
注意:此时的parr2是一个指针,如果把指针名parr2去掉,剩余的部分就是指针类型,:int(*)[10]
这就是数组指针,其实并没有想象的那么神秘!
4、数组指针的应用
这里为大家分享一下数组指针的几个小应用。
int(*pa)[5] = &arr
注意:
void print_arr2(int(*arr)[5], int row, int col) { int i = 0; int j = 0; for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { printf("%d ", arr[i][j]); } printf("\n"); } } int main() { int arr[3][5] = { 1,2,3,4,5,6,7,8,9,10 }; //数组名arr,表示首元素的地址 //但是二维数组的首元素是二维数组的第一行 //所以这里传递的arr,其实相当于第一行的地址,是一维数组的地址 //可以数组指针来接收 print_arr2(arr, 3, 5); return 0; }
运行结果:
注意:
想必大家看过我的blog应该对数组指针与指针数组有了初步的了解
这也是我本人第一次写blog,还请各位大佬手下留情!
最后,放一道思考题:
请问以下代码代表什么意思:
int(*parr3[10])[5]
答案就是:
文章浏览阅读2.2w次,点赞16次,收藏103次。看到就是赚到_手机改服务器
文章浏览阅读1.8k次。在数值型double转String格式时,如果同时遇到数值较大的double和小数位较多的double处理方法:double a = 123456789.10001;double b = 1.987654321;System.out.println("a: " + a);System.out.println("b: " + b);java.text.NumberFormat NF = java.text.NumberFormat.getInstance();//设置数值的小数部分所允许的最大._数值类型转成字符串后,不要用科学计数法
文章浏览阅读1.3k次。Fiddler抓包工作原理正常情况下,手机app是直接向服务器请求数据的,如果通过Fiddler抓包那么需要通过Fiddler,再向服务器请求数据。当app数据传到Fiddler,那么可以将请求的数据进行修改。比如app请求"123456",那么Fiddler可以将这一串数字改成"1",再发给服务器。此时服务器接收到的数据就是"1"。服务器返回数据到app和请求数据是一样的道理。Fid..._fiddler 移动端 app抓包
文章浏览阅读1.9w次,点赞10次,收藏32次。以2020美赛C题数据为例data <- read.table("D:\\mm\\Problem_C_Data\\hair_dryer.tsv" ,header = T, sep ="\t",dec = ".",quote="",comment.char = "",na.strings = c("NA"),fill=T)因为是tsv:Tab-separated values即制表符..._读取的项目数必需是列数的倍数
文章浏览阅读5.5k次。终于解决了一个困扰我几次的问题。在此经验分享一下,希望能帮到遇到同样问题的朋友。问题的起因是想使用Notepad++连接SFTP服务器,无法成功建立连接,总是停在通过验证后。Notepad++中的NppFTP插件一直显示”NppFTP - connecting“,无法取消,也不能进行其他操作。[NppFTP] Everything initializedConnecting_如何使用notepad连接服务器一直失败
文章浏览阅读969次,点赞10次,收藏27次。Python实战100例小伙伴们在学习Python的过程中,有时候不知道怎么学,从哪里开始学。掌握了一些基本的知识或者做了一些案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。那么对于这些大兄弟们,我准备了大量的免费视频教程,PDF电子书籍,以及源代码!下方名片自取即可,我都放在这里了。今天的分享就到这里结束辽~大家下次再见!
文章浏览阅读2.5k次。【修理篇】ToolBox升级IDEA后之前配置的插件消失问题(附:IDEA2020版本前后配置文件地址) 在IDEA的插件配置地址都是可配置的,通过修改idea.properties可指定插件和logs的地址等这个配置文件地址在IDEA2020.1版本后出现了一些变化。如下:2020.1版本之前:配置文件地址在IDEA安装目录的bin目录下。2020.1版本之后:在此版本之后有两种方法。1.从C盘\User\Administrator里开始找AppData\Roaming\JetBra_toolbox 下载的ide没有copy之前的插件进来
文章浏览阅读48次。http://lunarfrog.com/blog/filesystem-change-notifications Use CreateFileQueryWithOptions to add file monitor(win32 use file watcher).* By default it FolderDepth is Shallow(root folder only), D..._file monitor on window server
文章浏览阅读564次。vue2 + electron 非常简单的搭建方法_vue 2.0 安装electron
文章浏览阅读2.6k次。最近在做期末作业,用Jekyll架站,前几天添加的svg图片还能加载,今天就不能了在hbuilder上是这样写的,前几天添加的svg图片还能加载,今天就不能了。用chrome检查是这样的请问应该怎么解决?..._解析失败 (带有png备选的svg(mathml可通过浏览器插件启用)
文章浏览阅读1.8w次,点赞7次,收藏13次。这里只提供解决思路,代码就不粘贴出来了图片显示不出来就像大多数人说的一样,HTML中的图片产生了跨域,可以将网络图片转为base64后修改img 的src属性值,添加图片允许跨域的属性。调用html2canvas的API时,将跨域参数设置为true,允许跨域。图片生成显示不全,只有半截或者空白在有滚动的页面,产生了滚动条后,生成的图片可能会只有一半或者空白。答案只有一个,那就是要把html2canvas的配置项参数中,scrollx,scrolly都设置为0,问题就解决了。 o゚*。o恭_htm2canvas 图片只有左边一半
文章浏览阅读2.4k次。转载请注明出处:https://blog.csdn.net/impingo我的开源项目地址:https://github.com/pingostack/pingos开源项目:https://pingos.io目录1. 如何支持H265编码?2. 如何降低直播延时?2.1 优化推流端2.2 优化PingOS服务器配置2.3 优化播放器端3. 如何降低HLS直播延时?4. 如何支持拉取rtsp源?QQ交流群:697773082本篇内容记录大家问的比较多的问题,持续更新…1. 如何支持H265编码?_exec_pull