
指针指向数组的某个元素,指针如何指向数组
- 科技
- 2023-09-26
- 7

c语言中如何用指针指向二维数组中的某个元素? 应为a是一个指向指针的指针,它指向的是和自己存储的地址相同的指针,即a[0],a[0]是第一行一维数组的指针,可以指向具体...
c语言中如何用指针指向二维数组中的某个元素?
应为a是一个指向指针的指针,它指向的是和自己存储的地址相同的指针,即a[0],a[0]是第一行一维数组的指针,可以指向具体变量。
⑴ 用指针表示二维数组元素。要用指针处理二维数组,首先要解决从存储的角度对二维数组的认识问题。一个二维数组在计算机中存储时,是按行存储的,即先存储第一行的元素,再存储第二行的元素。
首先我们打开电脑里的C语言软件,新建一个工程和.c文件,输入头文件和主函数。然后我们输入图示代码初始化数组,定义变量类型。然后我们输入图示代码用for语句实现数组的访问。然后我们输入图示代码进行输出。
关于用指针指向数组
数组名并不是一个普通的变量,而是一个指向数组首元素的指针。也就是说,我们可以用数组名来初始化一个对应类型的指针。虽然数组名是指针,但它是一个指针常量。也就是说,不带下标的数组名不能作为左值。
首先你要明白一点,数组名和指针本质上是一回事,都是地址,该数组的首地址。知道这一点后就可以活学活用了。这是c语言的精髓。
p1 ++ 将使p1指向a[0]后面的一个整数。而p2 ++ 将是p2指向a后面的一个数组。像p2这样指向数组的指针通常用于2维数组。比如b[3][10];那么p2 = b后,*p, *(p+1), *(p+2)分别是b[0], b[1], b[2]。
c语言如何用指针指向结构体数组
1、一个指针变量当用来指向一个结构变量时,称之为结构指针变量。结构指针变量中的值是所指向的结构变量的首地址。通过结构指针即可访问该结构变量,这与数组指针和函数指针的情况是相同的。
2、结构体的指针的p-num表示num的值,这个很容易理解。而结构体数组的指针,其实就像数组的名称一样,均表示该数组的起始地址。所以p-num也表示num的值,只是表示的是数组中第一个结构体中num的值。
3、+---+ |---n---|---str---| 我们从图中可以看到n其实占了四个字节的内存,而str占了10个字节。
4、类型不同 struct student 是一个类型 char数组 是一个类型 p是指向类型struct student的指针 stu[1].name是真相char[]的指针。
指向数组指针的运用
数组名并不是一个普通的变量,而是一个指向数组首元素的指针。也就是说,我们可以用数组名来初始化一个对应类型的指针。虽然数组名是指针,但它是一个指针常量。也就是说,不带下标的数组名不能作为左值。
由此,对于数组元素a[i][j],用数组名a的表示形式为: ( (a+i)+j) 指向该元素的指针为: *(a+i)+j 数组名虽然是数组的地址,但它和指向数组的指针变量不完全相同。
而p2 ++ 将是p2指向a后面的一个数组。像p2这样指向数组的指针通常用于2维数组。比如b[3][10];那么p2 = b后,*p, *(p+1), *(p+2)分别是b[0], b[1], b[2]。利用p++可以遍历这些长度为10的数组。
同理,指针数组就是int (*p[])();他的指向和前面一样,你让他指向一个函数就行了,像其他数组用法一样,至于使用也是很神奇的,你可以用p(),也可以用(*p)()。
如何让指针指向数组尾部
楼主,可以用指针解决,即让指针开始指向数组首地址,然后P++,直到遇到\0为止。
可以。指针可以指向任何地方,但指向后能不能写就是另外一回事了。比如:p=&a[9]可以用*p=10写内存,但是 p=&a[9]+1 就不一定能用 p=10来写该地址的内存了。
end — 将数组的内部指针指向最后一个单元 说明 end ( array &$array ) : mixed end() 将 array 的内部指针移动到最后一个单元并返回其值。参数 array 这个数组。 该数组是通过引用传递的,因为它会被这个函数修改。
数组有多少项,就给这个指针加多少。如 int b[5];int *p;p=b;p+=5;这时p就指向了b[5]的未尾。
本文链接:http://www.depponpd.com/ke/32935.html