C语言之指针、数组和函数
C语言之指针、数组和函数
基本解释
1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。
2、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。
3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
问题:指针与数组
听说char a[]与char *a是一致的,是不是这样呢?
答案与分析:
指针和数组存在着一些本质的区别。当然,在某种情况下,比如数组作为函数的参数进行传递时,由于该数组自动退化为同类型的指针,所以在函数内部,作为函数参数传递进来的指针与数组确实具有一定的一致性,但这只是一种比较特殊的情况而已,在本质上,两者是有区别的。请看以下的例子:
char a[] = "Hi, pig!";
char *p = "Hi, pig!";
上述两个变量的内存布局分别如下:
你可能喜欢
- 概率论与数理统计实验报告
- 圆周率1000位
- 资料分析秒杀技巧
- 数据分析方法
- 新手上路
- 美赛数学建模
- 空间直角坐标
- 中学生物学
- 《概率论与数理统计》实验报告15页
- 概率论与数理统计实验报告4页
- 《概率论与数理统计》实验报告 方差分析以及回归分析10页
- 概率论与数理统计实验报告6页
- 概率论与数理统计实验报告10页
- 《概率论与数理统计》实验报告10页
- 圆周率1000位排版10页
- 圆周率1000位1页
- 圆周率1000位5页
- 圆周率1000位打印表1页
- 圆周率1000位10页
- 三天速记忆圆周率1000位有编码有故事训练右脑值得珍藏6页
- 资料分析秒杀技巧9页
- 资料分析秒杀技巧17页
- 2012年广西公务员资料分析题(秒杀技巧)9页
- 资料分析秒杀技巧9页
- 行测秒杀技巧——资料分析4页
- 资料分析秒杀技巧10页
- 两总体的面板数据的距离判别分析方法2页
- “市场研究及数据分析“理念及方法概要介绍122页
- 常见数据挖掘分析方法介绍5页
- 市场调研和数据分析的方式和方法5页
- 数据分析中的10种思维方法17页
- 市场研究中的数据分析方法 1401270452页
- 新手上路1页
- 新手上路常见问题 看看这些误区你有没有2页
- 数学建模_新手上路11页
- 新手上路的驾驶技巧_一_2页
- 汽车驾驶:新手上路3页
- [转贴]新手上路8大心虚情况破解3页
- 美赛数学建模预测模型1页
- 2014美赛数学建模A题翻译1页
- 2013美赛数学建模29页
- 美赛数学建模优秀论文35页
- 美赛数学建模2010____B优秀论文28页
- 美赛数学建模技巧1页


