指针指向数组的表示方法

作者&投稿:督厘 (若有异议请与网页底部的电邮联系)

关于C语言指针的问题
value=array[0];\/\/也可写成:value=*array; value=array[3];\/\/也可写成:value=*(array+3); value=array[4];\/\/也可写成:value=*(array+4); 上例中,一般而言数组名array代表数组本身,类型是int [10],但如果把a rray看做指针的话,它指向数组的第0个单元,类型是int *,所指向的类型是数组单元的类型...

C语言关于指针变量中**a的问题。 求详解
int *a[2] 表示一个指针数组,及a[1],a[2]都各自是一个指针,当直接打a 表示的是这个数组的首地址,*a表示的是取得就是a的首地址里面的内容,相应的就是a[1],而a[1]也是指针,可以再对起取内容,及*a[1],前面说过*a等价于*a[1],所以也可以写作:**a....

指针数组作形参,int *q[ ]与int **q完全等价
第二点:p是一个二级指针,p中存放的是一个地址的地址。int *q[10],是一个指针数组,数组元素是int型的指针,而q作为数组名,本身是个地址,指向这个数组的首地址,所以q也是个二级指针,故p = q;后边的p+i就是取数组q的第i个元素q[i],而q[i]是个地址,所以p+i就是q[i]的地址。第...

在一个循环队列中,队尾指针指向队首元素的( )
在一个循环队列中,队尾指针指向队首元素的( ):在循环队列中,front指向队列中第一个元素的前一位置,rear指向实际的队尾元素,队列为满的条件是front=rear。循环列队:为充分利用向量空间,克服"假溢出"现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列...

关于数组存储位置
A1 A2 A3 A4 A5 B1 B2 B3 B4 B5 C1 C2 C3 C4 C5 D1 D2 D3 D4 D5 E1 E2 E3 E4 E5 a[0][0]的地址就是A1的地址,或许你觉得我说得有点白痴,不过如果你了解了数组的存储方式,这样说算是直白了,各个元素占两个字节,那么a[0][0]的地址就是指针指...

C语言指针问题
int *p;这里,定义的是一个指向int变量的指针。它同时也可以用来指向一个int数组。因为在C中,数组的表示是通过元素的首地址来表示的。作为指针,它和int变量指针没区别,编译器无法区分。int (*p)[4],如果你的这里符合语义的话,应该有类似这样的一个声明:int p[3][4]int (*p)[4]其实指向的...

leetcode题库java基础题?
我们分析一下,这个数组在取平方之前,是有序的,那么它绝对值最大的数一定是在两端的。 所以我们可以定义两个指针,一个指向最左端,一个指向最右端,比较两者平方的大小,大的平方放入结果数组,并移动指针。 有序数组的平方 代码如下: 时间复杂度:O(n)。 题目:1.两数之和() 难度:简单 描述:给定一个整数数组nu...

新手向大神请教,指向结构体的指针存放的是结构体第一个成员变量的地址吗...
对于标题中的问题答案是肯定的。如果第一个成员是数组的话,指向的也是数组第一个元素的地址。对于第三个问题,你说的“该指针”不太清楚,我就按我的理解来说:如果指针是指向结构体,那么指针加1的话,指针就会向后移动结构体大小个字节的距离;如果你说的是指向数组第一个元素的指针,那么加1的话...

c语言数组中,这里怎么会有两个星号?什么意思?
p是二维数组的指针,也就是指向只针的指针,**表示连续两次取值。因为p是指向指针的指针,所以第一次取值,取出来的是个指针,第二次取值取出来的就是值了

字符数组和字符指针变量的区别是啥呀?
char str[]={'H','e','l','l','o','\\0'};char* p1=str, *p2=&(str[0]);使用str[n]获取数组第n+1个数据的值,可以看作是这样进行的:先把str转换为首元素地址,也就是变为了获取到了指向'H'的指针,然后讲指针往后偏移n个单位,获得指向'H'往后数n个的字符。下面的p1和p2指针...

冉京15984346594问: 指向数组的指针和指针数组分别如何表示 -
路桥区美洛回答: char * p[3]={"111","222","333"}; 指针数组,数组中每个元素都是指针(首地址) char(*p)[2]=&a[0]; 指向的是有2个元素的数组指针

冉京15984346594问: 指针指向数组的四种操作方式 -
路桥区美洛回答: 数组month中有四个指针,但是这四个指针没有指向其他的存储空间所以你输入的数据没有地方存放,运行时就会出错.指针在使用的使用,必须先指向一个变量,或者是一个数组,或者是一个字符串等等,必须有指向,即指针必须先赋值,才能使用.

冉京15984346594问: 请问C语言中指向二维指针数组的指针该怎么表示? -
路桥区美洛回答: 整形一位数组:int a[2]; int * p =a; p[n] = 10;整形二维数组:int a[2][3]; int **p=a; p[n][m] = 10; 指针二维数组:(把int换成char *) char * a[2][3]; char ***p=a; p[n][m] = &a1;

冉京15984346594问: 指针数组与数组指针,其中各个元素怎么表示,最好有例子谢谢 -
路桥区美洛回答: int (*p)[10]; p即为指向数组的指针,又称数组指针.int *ptr_array[10],指针数组 p是一个指针,不存在多元素的问题 int *ptr_array[10]中个元素的表示方法和int a[10]一样 只不过a中存的是int型,ptr_array中存的是(int *)型

冉京15984346594问: 关于用指针指向数组 -
路桥区美洛回答: 两者都是指针,但指向的数据类型完全不同. p1指向的是整数,这好理解. p2指向的是长度为10的数组. p1 = a是完全没有问题的. p2 = a其实是做了自动类型转换的,通常会有警告(在某些编译器上甚至通不过). 虽然p1 = a,p2 = a后,*p1是一个整数,*p2是一个数组的地址(在这里是a); 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]. 利用p++可以遍历这些长度为10的数组.

冉京15984346594问: c语言指针指向数组的问题. -
路桥区美洛回答: 首先你要明白一点,数组名和指针本质上是一回事,都是地址,该数组的首地址.知道这一点后就可以活学活用了.这是c语言的精髓.比如你定义了int *p,a[10];并且让p=a;, 这个操作叫做指针p指向了数组a,其本质是给p这个变量付了一个...

冉京15984346594问: 用指针指向二维数组首元素怎么表示 -
路桥区美洛回答: 我给你的程序注释一下:main() ,,}; int *p,i; p=a[0]; /*指针p指向数组a[0]*/ for(i=0; i<12; i++) { if (i%4==0) printf("\n"); /*每输出4个数就换行*/ printf("%4d ",*_________); } } /*填 p++ ,输出每一个元素*/ 通过指针地址的移动来输出. 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

冉京15984346594问: c 语言用指针表示二维数组的列 怎样表示 -
路桥区美洛回答: 定义二维指针,例如:int (*p)[3],a[3][4];p=a; 那么指针指向二维数组的列是这样:*(*(p+1)+2)/*指向第二行第三列,即:a[1][2]*/ 就是说,二维指针中*p是把行指针换成列指针.**p才是指向的数值.

冉京15984346594问: 指向数组的指针 -
路桥区美洛回答: int a[3] = {1, 2, 3}; int (*p)[3]; p = &a; 这样是没错的,p是一个指针类型的数据,它指向的是三个int类型的数组,要用p指向的数据可以这样(*p)[0],(*p)是解出p指向的数据,也就是数组a,其实也就是数组a的首地址,然后就可以用下标[]取数据了.

冉京15984346594问: 指向一个数组元素是指针的一维数组的指针变量怎么表示 -
路桥区美洛回答: int *p,s[3]={1,2,3}; p=s; //*(p+1)就指向s[1];


本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网