作者:admin 发布时间:2023-12-19 00:15 分类:资讯 浏览:44 评论:0
指针的工作是通过数组在内存的地址来实现的。指向数组的指针。。
指针概念:变量的地址(计算机内存字节的编号)叫做指针,存放变量地址的变量叫指针变 量,简言之,指针是用来存放地址的。作用:指向这个变量或数组的首地址,是变量的间接引用方式。
上例中,一般而言数组名array代表数组本身,类型是int [10],但如果把array看做指针的话,它指向数组的第0个单元,类型是int *,所指向的类型是数组单元的类型即int。因此*array等于0就一点也不奇怪了。
数组是用指针方式实现的,但数组值是一个常量,即不能改变数组的首地址,而指针是一个变量,可以改变它的值;如:数组 a和指针p,p=a+1;是合法的,但a=a+1;是不合法的。
区别:数组是一块内存连续的数据。指针是一个指向内存空间的变量。数组只能在静态储存区或栈上被创建。指针通常用来操作动态内存。数组是由编译器分配的空间,变量名是不能再赋值的。指针可以重复赋值。
指针:系统为某一个变量开辟单元格,指针便指向此单元格的变量值。数组:系统为某一组数开辟一组单元格,数组首地址便是你定义的数组变量名。数组和指针的唯一区别是,不能改变数组名称指向的地址。
数组:你需要自备库房,库房大小要足够存放所提货物,然后你派车辆去运回来存入你的库房。
数组指针定义int(*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。
指针数组:就是存储指针的数组。数组指针:就是指向数组的指针。指针:本质就是一个int型变量,含义:一个内存地址。举例:int *p[10] 指针数组。原因:因为[的优先级比*高,p先和[结合,所以是指针数组。
程序中c1,c2被定义为字符数组并初始化;c3是一个指针变量,指向字符串所在字符数组的首地址。(2)语句char pArray[3];定义了三个元素的指针数组pArray,数组元素是指向char型变量或数组的指针变量。
C是一个存放指针的数组;D一个指向指针数组的指针,是一个变量,而不是数组。故选C。
二维数组定义的一般形式为 类型说明符数组名[常量表达式][常量表达式] C语言采用上述定义方法,我们可以把二维数组看做是一种特殊的一维数组:它的元素又是一维数组。
楼主说的是数组指针,说的是一个指向数组的指针。不是一个存放指针的数组。可以typedef实现。假如:是一个指向int 数组的指针,数组大小为10;则可以写成 int (*a)[10];则a就是一个数组指针。