首页 > 试题广场 >

数组和指针的区别

数组名是指针常量,不可修改其指向。 但是数组名仅仅是一个符号,和数组的首元素公用内存地址。 而普通指针可以修改其指向的地址。 普通指针要占用实际的存储空间,具体占用的存储空间和操作系统的位数有关。32位操作系统指针占用32位,64位操作系统占用64位。
发表于 2019-02-06 15:28:50 回复(1)
指针是指向内存地址,内存大小通常由程序员分配;数组则是系统分配的连续内存空间
发表于 2019-01-04 20:47:42 回复(0)
数组是系统自动分配的一块连续地址的内存,数组名存的是这块内存的入口地址,是一个地址常量,可以通过下标访问数组元素,加一减一会自动转化成加/减一个数组中所存数据类型的大小。当作为参数传递给函数时,退化成一个指针,使用时需要指定数组大小,否则容易读或写超出所分配空间的地址中的内容。 指针是一个地址变量,也可以用下标获取其后或其前的地址中的内容。具有极高的实用性和执行效率。
发表于 2019-03-01 13:41:29 回复(0)
区别1:指针只占4个字节,而数组将根据其长度占据一定的连续的空间。 区别2:虽然在表达式中数组名解释为指向数组中第一个元素的指针,但是用sizeof(数组名)得到的是整个数组的大小而不是4。 区别3:指针是可以修改的左值,而数组名是不可以修改的左值 区别4:定义一个字符指针并初始化一个字符串和定义一个数组并初始化一个字符串是不一样的。
发表于 2019-05-02 20:01:01 回复(0)
简单来说,在内存中,指针(默认32位机下)恒定大小4字节,存储了你要指向某个地方的地址,那块地方是固定大小的区域(大小看你指针类型),数组就不一定了(看你要申请几字节),当然指针也会经常指向数组进行操作,虽然数组和指针很多用法看着一样,但是本质是两种不同的东西
发表于 2019-01-22 23:55:09 回复(0)
数组是特殊的指针,是所指向的内存空间和变量本身都不能被改变
发表于 2019-03-21 19:23:49 回复(0)
数组不知道需要多少空间,会浪费空间,而指针可以要多少用多少
发表于 2019-03-11 16:48:37 回复(0)
数组作为函数的参数时退化为指针,数组名为数组开辟内存的首地址。指针存放的为某块内存的地址,指针本身所占内存与操作系统有关,指针指向的地址值可以改变。若将数组首地址传给指针,指针也可以通过下标的方式操作数组。
发表于 2019-03-10 23:29:03 回复(0)
数组,有连续的物理内存地址,数组名不可直接赋值,数组与数组首元素公用内存地址。指针,由程序员分配地址,存储其他指向地址。
发表于 2019-03-10 09:41:55 回复(0)
数组名是指针常量,不可修改其指向。数组名仅仅是一个符号,它所占的内存空间是和第一个元素公用。而指针是可以修改其指向地址,并占有实际的内存空间,其所占内存空间位数和操作系统有关,32位操作系统占32位,64则占64位
发表于 2019-03-10 07:20:48 回复(0)
数组是存放若干相同类型数据的集合。指针是变量,存放其它变量的地址。数组一般存放在栈或者静态存储区,指针的存放位置是不定的,数组之间不能相互赋值,而指针可以。
发表于 2019-03-07 09:39:47 回复(0)
指针指向地址,通常由程序员分配空间,数组是有系统定义
发表于 2019-03-06 09:36:45 回复(0)
指针是一个变量,数组名只是一个符号,而且数组在c++中可以通过数组名获取首尾迭代器
编辑于 2019-03-06 01:33:15 回复(0)
指针指向内存地址,数组是分配一段连续的内存
发表于 2019-03-01 15:18:42 回复(0)

当参数为数组时,数组退化为指针。即,函数将这个本身是数组的参数,当作指针对待


发表于 2019-02-26 10:53:09 回复(0)
数组 &a 和 a 等效 指针 &a 和 a 完全不同
发表于 2019-02-26 08:22:50 回复(0)
数组和指针的区别
发表于 2019-02-23 19:06:41 回复(0)
指针指向地址,数组是用来存储数据的一种存储结构,就像数组是楼房里的住房,指针指向住户的门牌号
发表于 2019-02-23 11:05:46 回复(0)
数组是一段字符集分为一维数组二维数组,二维数组分行和列,指针的运用是指向一段已定义变量储存地址头标题,从宏观角度看是从库中提取数据整合,微观角度是直接拿出数据,实现调用
发表于 2019-02-05 12:25:50 回复(0)
指针储存的是地址,而数组储存的是数据本身
发表于 2019-01-31 16:06:41 回复(0)