本文是百分网小编整理的关于C语言重指针与数组的详解及对比的相关资料,供参考学习,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!
C语言指针与数组的详解及对比
通俗理解数组指针和指针数组
数组指针:
eg:int(*arr)[10];
数组指针通俗理解就是这个数组作为指针,指向某一个变量。
指针数组:
eg:int*arr[10];
指针数组简言之就是存放指针的数组;
——数组并非指针&&指针并非数组
(1)定义一个外部变量:
eg:intvalue=10;int*p=&value;
举例:当需要在一个函数中用这个变量时:externaint*p;而非externintp[];
分析:当用:externintp[];这样的形式时,其实是:由于在定义这个变量的时候,是作为一个指针而定义的,则p指向的是value的地址,当p当做一个数组被引入是,它其实存放的是value的地址,而并非指向value,导致调用出现错误。
(2)定义一个外部变量:
eg:intarr[10]={0};
举例:当需要在函数中引入这个外部变量时:externintarr[10];而非externint*arr;
分析:当用externint*arr;这样的方式进行引入是,实际上这样是不对的,在定义这个变量的时候是作为一个整形数组来定义的,但是在声明的时候是用指针来声明的,通过数组声明可以访问到整个数组,但是通过指针实际上声明的指针并非指向数组,而是指向arr[10]数组中首元素arr[0]地址的指针,导致访问出现问题。
——二维数组与指针的关系
定义一个二维数组arr[3][3],由于二维数组在内存中也是按照顺序存储,而并非我们所认为的按照矩阵形式存储的。所以,arr[3]其实就相当与一个数组指针;指向arr[0][0],arr[1][0],arr[2][0].
____数组与指针的其他区别
(1)指针保存的是数据的地址;
数组是用来保存数据的。
(2)指针访问数据是通过数据的地址进行解引用,间接访问的;
数组访问数据是直接的。
(3)指针通常用于动态数据结构;
数组用于存放固定数目而且类型相同的数据。
(4)指针通常指向匿名数据;
数组通常存放已知的。
通俗理解数组指针和指针数组,C语言中指针与数组有什么区别呢?应该怎么去区分?下面是小编为大家整理的C语言中指针与数组的区别,欢迎参考~通俗理解数组指针和指针数组数组指针:eg:int(*arr)[10];数组指针通俗理解就是这个数组作为指针...
指针数组和数组指针,这两个名字不同当然所代表的意思也就不同,下面是其区别,欢迎阅读:指针数组:arrayofpointers,即用于存储指针的数组,也就是数组元素都是指针数组指针:apointertoanarray,即指向数组的指针还要注意...
往往,我们一提到指针函数和函数指针的时候,就有很多人弄不懂。下面详细为大家介绍C语言中指针函数和函数指针。一、指针函数当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中。格式:类型说明符*函...
指针函数和函数指针是C语言入门学习中的基础知识,以下是百分网小编搜索整理的关于C语言中指针函数与函数指针的区别,有需要的朋友可以参考一下!想了解更多相关信息请持续关注我们应届毕业生考试网!指针函数一般是指返回指针的函数;#include&l...
C语言的指针类型包括两方面的信息:一是地址,存放在指针变量中;二是类型信息,关乎于读写的长度,没有存储在指针变量中,位于用该指针读写时的mov指令中,不同的读写长度对应的mov指令不同。以下是百分网小编搜索整理的关于C语言的指针类型详解,需...
幼儿教师的年终述职报告10-24
学校第二学期的德育工作总结范文07-10
年龄太悬殊的搞笑故事03-09
酒店工作人员个人自我鉴定范文09-14
关于乡村医生的培训总结讲话11-06
幼儿园的教育工作计划范文12-05
爷爷的手作文03-31
iPhone屏幕保护技巧04-26
经典的人生名言09-22
假期安全主题班会策划书范文10-15
妈妈说作文10-28
绽放最美的微笑作文09-20
万能种子作文900字09-26
我学会了包饺子初中日记11-01
精金良玉是褒义还是贬义09-15
珠海工伤赔偿标准及条例10-31