
数组的指针表示法,数组指针怎么表示
- 科技
- 2023-09-30
- 7

指向数组的指针和指针数组分别如何表示 指针数组声明的是数组,数组里放的是指针;而指向指针的指针声明的是指针,只是这指针指向另一个指针。声明时二者不同,如:char p[...
指向数组的指针和指针数组分别如何表示
指针数组声明的是数组,数组里放的是指针;而指向指针的指针声明的是指针,只是这指针指向另一个指针。声明时二者不同,如:char p[10],是指针数组,声明p是有10个元素的数组,其每一个元素都是指向char型变量的指针。
指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针 数组指针:a pointer to an array,即指向数组的指针 还要注意的是他们用法的区别,下面举例说明。
他们的区别是:指针数组,表示的是一个由指针变量组成的数组也就是说其中的元素都是指针变量,而数组指针表示的是这是个指向数组的指针。
c语言中数组指针的表示方法
指针数组定义int*p[n];[]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素。
int **p;或者 int p[MAX_ROW][MAX_LINE];不同的是前者定义了一个int型二维数组的指针,编写器知道该指针的移动方式以int为单位,但此时该指针为NULL,即没有与内存中的物理单元进行对应。
应为a是一个指向指针的指针,它指向的是和自己存储的地址相同的指针,即a[0],a[0]是第一行一维数组的指针,可以指向具体变量。
第三,顺便了解一下不太常用的‘行数组指针’。对于二维数组array[4][3],与int* p 。二维数组名array 不能直接赋值给p。原因前面已讲过,两只的对象性质不同。
一维数组可以认为是一个指针,二维数组可以认为是指针的指针。实质都是指针类型,就是地址。
指针所指变量的值。char x=10;pi =x; //给指针所指的变量赋值,改变指针所指变量的值(改变*pi) 。x=*pi; //取指针所指的值,取指针pi所指的变量的值(表示为*pi)赋值给x。
C语言指针数组指针怎样理解?
1、指针数组:就是存储指针的数组。数组指针:就是指向数组的指针。指针:本质就是一个int型变量,含义:一个内存地址。举例:int *p[10] 指针数组。原因:因为[的优先级比*高,p先和[结合,所以是指针数组。
2、(2)数组指针:它实际上是一个指针,该指针指向一个数组。
3、数组名并不是一个普通的变量,而是一个指向数组首元素的指针。也就是说,我们可以用数组名来初始化一个对应类型的指针。虽然数组名是指针,但它是一个指针常量。也就是说,不带下标的数组名不能作为左值。
4、数组和指针的关系 数组的数组名其实可以看作一个指针。
5、指针概念:变量的地址(计算机内存字节的编号)叫做指针,存放变量地址的变量叫指针变 量,简言之,指针是用来存放地址的。作用:指向这个变量或数组的首地址,是变量的间接引用方式。
如何定义数组指针
1、可以typedef实现。假如:是一个指向int 数组的指针,数组大小为10;则可以写成 int (*a)[10];则a就是一个数组指针。或者写成 typedef int (*a)[10];a pa;则pa就是一个数组指针。a是一个数组指针类型。
2、数组指针定义int(*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。
3、数组指针是指向数组首元素的地址的指针,其本质为指针(这个指针存放的是数组首地址的地址,相当于2级指针,这个指针不可移动); 指针数组是数组元素为指针的数组,其本质为数组。
4、定义 int *f(){ return a;} 数组名的指针,即数组首元素地址的指针。即是指向数组的指针。例:int (*p)[10]; p即为指向数组的指针,又称数组指针。
二维数组如何用指针表示
二维数组就是数组的数组,二维数组即数组的元素是一维数组的数组。那么我们要用指针指向二维数组,就是要定义一个指向数组的指针了。
int **p;或者 int p[MAX_ROW][MAX_LINE];不同的是前者定义了一个int型二维数组的指针,编写器知道该指针的移动方式以int为单位,但此时该指针为NULL,即没有与内存中的物理单元进行对应。
用p3来表示一维数组的各元素,只需要将用p1表示的数组元素*(p1+i)中的p1换成*p3即可,表示为*(*p3+i)。同样,对二维数组b来说,b[i]表示第i行首地址,将其传递给指针变量p2,使其指向该行。该行的元素用p2表示为*(p2+i)。
指针呀~~~数组里的指针~~
数组指针是指向数组首元素的地址的指针,其本质为指针; 指针数组是数组元素为指针的数组,其本质为数组。
一维数组可以认为是一个指针,二维数组可以认为是指针的指针。实质都是指针类型,就是地址。
指针数组是由一个个指针构成的数组,中心词是“数组”。数组指针是指向数组的指针,中心词是“指针”。前者例如 char *array[10];//array是数组,其10个元素均为char*指针。
本文链接:http://www.depponpd.com/ke/38743.html