btcq.net
当前位置:首页 >> 数组和指针的关系 >>

数组和指针的关系

区别:C语言把内存划分成四个区,它把一般的变量和数组等存在于内存中的栈区,所以数组在C语言的定义中只是一组同类型的普通变量,即使这个变量有可能是指针.所以他的作用比指针小的很多,而指针可以指向任何区的任何数据,所以

1、指针:系统为某一个变量开辟单元格,指针便指向此单元格的变量值.2、数组:系统为某一组数开辟一组单元格,数组首地址便是你定义的数组变量名.数组和指针的唯一区别是,不能改变数组名称指向的地址.对于数组来说,数组的首地

数组在静态时,是可以由编译器得到具体长度的(根据元素类型与数量来决定).指针可指向不定长数组,在操作指针的过程中,你应明白,或者通过程序计算出具体的数量.也可以通过边界值来判断.数组一般直接申明大小,固定了占用的大小.指针可以指向数组.

指针数组,就是一个数组里存放的都是指针,比如*p[8];p[0]里存放的就是一个指针数据 数组指针,数组名就是一个指向数组起始地址的指针,数组下标是萦引,比如num[0],他就相当于num+0; num这个指针没移动,于是取的是数组的第一个.num[1]相当于数组指针移1,于是指向数组第二个

数组名就是这个数组首元素的地址,指向数组的指针也是数组首元素的地址,二者相同.

数组是一连续的记忆体区块,必须先行决定配置容量和存放的资料型态. 例:int a[10]; 因容量已被固定,故称为静态数组,若容量在使用前配置,则称为动态数组.须自行配置及释放记忆体. 例: int b[]; b = new int(10); delete(b); 指针的使用

1,数组是一块内存连续的数据.2,指针是一个指向内存空间的变量.对于数组来说,数组的首地址,也可以用指针来表示操作,如:int a[10];int *p,n;p = a;对第一个元素取值,可以用几种方法: n =a[0];n = *p;n = p[0];n = *(p+0) ;3,不同的地方是数组是由编译器分配的空间,变量名是不能再赋值的;而指针是可以重复赋值的(除定义为const)如:p = a; //正确a = p; //错误

数组是一系列统一类型的变量的集合.而指针是变量在内存中的存储单元的地址.两者含义完全不同.

数组名字表示这个数组的开始地址,所以把a给p相当于p也是指向数组的开始地址,所以p的操作和a的操作一样.所以p[i]并不是操作一个p数组,其实还是操作a数组的元素

指针是地址,但是指针有很多种,还和具体的平台有关系,指针可以有数据指针,还有函数指针,这些都是一些虚拟的,真正用的时候是具体的一个地址量.数组是变量,是一个有序的区块,里面装有数据,数据可以是任意的,比如int,int指针

网站首页 | 网站地图
All rights reserved Powered by www.btcq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com