当前位置:首页 > 开发语言 > 正文

指针指向数组的某个元素

指针指向数组的某个元素

大家好,今天小编来为大家解答以下的问题,关于指针指向数组的某个元素,指针指向数组元素时,指针算术运算才是有意义的这个很多人还不知道,现在让我们一起来看看吧!文章目录:...

大家好,今天小编来为大家解答以下的问题,关于指针指向数组的某个元素,指针指向数组元素时,指针算术运算才是有意义的这个很多人还不知道,现在让我们一起来看看吧!

文章目录:

指针的与数组关系

1、指针:为某一个变量开辟单元格,指针便指向此单元格的变量值。数组:为某一组数开辟一组单元格,数组首便是你定义的数组变量名。数组和指针的唯一区别是,不能改变数组名称指向的。

2、密切的关系。数组是一种存储数据的结构,而指针则是一种用于访问内存的变量,数组是由相同类型的元素组成的序列,可以通过索引来访问其中的元素,数组的名称实际上是一个指向数组首元素的指针,指针也可以用于访问数组的元素,还可以用于遍历数组。

3、指针数组:它实际上是一个数组,数组的每个元素存放的是一个指针类型的元素。

4、数组是一块内存连续的数据。2,指针是一个指向内存空间的变量。

5、内存分配:数组在编译时分配内存空间,其大小在声明时确定且固定不变。指针本身只占用固定大小的内存(通常是4字节或8字节,取决于和编译器的实现),但它可以指向任何大小的内存块。操作方式:数组通常通过索引访问其元素,索引是相对于数组起始的偏移量。

6、联系:如上面所说,数组只是定义在栈区的一个连续变量,它的首就是一个指针。总结:不仅数组有指针,所有变量都有指针,指针说白了就是内存中的,就像一个房间必须有一个房间号。

c程序中如果p指向某二维数组的某个元素,那么p[i]是?

1、无论几维数组,只要指针p已经指向了某个元素,那么p[i]就是第i个元素值(i从0起算)。当然i有限定的取值范围。

2、数组可以看作是一行连续的数据,只有一个下标,称为一维数组。在实际问题中有很多数据是二维的或多维的,因此C语言允许构造多维数组。多维数组元素有多个下标,以确定它在数组中的位置。本节只介绍二维数组,多维数组可由二维数组类推而得到。

3、p[i]:定义元素类型是指针的数组,同样的“i”应该是整型的。

4、int a[3][3]相当于定义了int** a;当然就和int* p不一样了。

一个用指针变量指向数组元素的问题

数组实质上是指向一段连续内存区域起始的指针,所以int[10]可以给int*,这样只会造成数组退化(编译时长度信息丢失)。p = a永远不会错,因为你只是将a的值赋给了p所指向的内存区域,这句在编译时永不会报错。

首先你要明白一点,数组名和指针本质上是一回事,都是,该数组的首。知道这一点后就可以活学活用了。这是c语言的精髓。

int *p=a ; //定义一维指针p,并指向数组a首。p=a+2 ; //指向数组a的第三个元素 或写成:p= &a[2] ; //通过&运算符号来取a[2]的,赋值给p p=&a ; //这是错误的语句!因为,&a的类型是int **, 而p是int *类型,所以,类型不相符,不能进行赋值操作。

关于本次指针指向数组的某个元素和指针指向数组元素时,指针算术运算才是有意义的的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

最新文章