假设a是数组,p是指针。比如 char a[5]; char *p;
数组和指针是完全不同的类型,当然有区别
1.
数组有点像label,本身不占空间,占空间的是数组元素。
指针本身占空间,大小为sizeof(T*),当然指向的内容也占空间。
2.
a 和 &a 类型不同,但是“地址”相同,都是label标记的地址
3.
sizeof(a) 等于数组元素的大小 乘以 元素的个数
sizeof(p) 指针本身的大小,其值在32位机器上一般等于4。
4.
数组本身不能改变,比如a=b或a++都是错误;
指针可以改变。数组可以赋值给指针;
5.
函数形参数组完全等同于指针。形象说编译器把数组形参编译为指针形参,也可以说函数声明中不存在数组(形参或返回值)。
6.
数组的数组和指针的指针完全不同,无法转换。
测试代码:
#include <iostream>
using namespace std;
int main()
{
char b[3]={'1','2','3'};
//cout<<*(b++)<<endl; 报错
char* p=b;
cout<<*(++p)<<endl;
return 0;
}
分享到:
相关推荐
如果这篇文章能够纠正许多中国程序员对数组名和指针的误解,笔者就不甚欣慰了。借此文,笔者站在 无数对知识如饥似渴的中国程序员之中,深深寄希望于国内的计算机图书编写者们,能以"深入探索"的思维方式和精益求精...
数组的指针和指向数组的指针变量数组的指针和指向数组的指针变量数组的指针和指向数组的指针变量数组的指针和指向数组的指针变量
数组和指针在各类编程语言中,都很重要,数组应用很广泛,理解基础很必要
这样两者的区别就豁然开朗了,数组指针只是一个指针变量,似乎是C语言里专门用来指向二维数组的,它占有内存中一个指针的存储空间。指针数组是多个指针变量,以数组形式存在内存当中,占有多个指针的存储空间。 还...
数组与指针的艺术 数组与指针的艺术
易语言数组转指针源码,数组转指针,子程序1,子程序2,子程序3,数组_整数转指针,数组_指针转整数,数组_文本转指针,数组_指针转文本,数组_字节集转指针,数组_指针转字节集,内存_申请,内存_释放,内存_取长度,内存_写入,...
10 数组和指针.pdf
数组指针和指针数组的区别
详细描述数组和指针的使用方法及各自优劣的地方。
彻底理解指针,指针数组和数组指针,指针函数和函数指针.doc
1。数组与指针区别; 2.数组&指针的相同点。 3.函数参数;
数组和指针之间的区别与联系 数组和指针之间的区别与联系
c语言中 数组名和指针的区别 来自知网的论文
C++数组与指针对象数组对象指针C++数组与指针对象数组对象指针
最新单片机仿真 用数组的指针控制P0 口8 位LED流水点亮最新单片机仿真 用数组的指针控制P0 口8 位LED流水点亮最新单片机仿真 用数组的指针控制P0 口8 位LED流水点亮最新单片机仿真 用数组的指针控制P0 口8 位LED流水...
C++数组与指针深入剖析C++数组与指针深入剖析C++数组与指针深入剖析C++数组与指针深入剖析
C++之 数组 与 指针 的 异同 pdf
数组和指针的学习资料,包括《彻底搞定C指针》、C语言指针精髓、C语言指针经验总结等等
C语言数组和指针详解,C语言的灵魂!总结详细,实例经典!