C++中已知数组a,则a,a 0p a各是什么

2021-01-01 19:26:51 字数 4611 阅读 3668

1楼:匿名用户

【答案】

a代表数组名,是一个指针,指向数组中第一个元素(即a[0])的首地址。

a[0],数组a中的第一个元素。

*p=a,应该是int *p=a吧?表示把指针a赋值给指针p,即p也是指向数组中第一个元素(即a[0])的首地址。

有不明白的再问哦~ 望采纳~ o(∩_∩)o~

2楼:侴傕

a是整个数组

a[0]是数组的第一个数

*p是数组的第一个数的地址

一个数组a【10】,那么a+2是什么意思呢?

3楼:匿名用户

可以把数组名看成是指针

char a[2];

char *p = a;

a+2 和 p+2 是一样的,指向相同的地址

4楼:匿名用户

a指的是数组的第一个a[0],那么a+1就是第二个a[1],a+2就是a[2].a是一个指针,他本身指向数组的第一个元素.那么a+n就是指向第n+1个元素.

5楼:匿名用户

上面说的没有错

例如a[4]=;

*(a+2)的值就是3,即a[2]的值,a是第一个元素的地址,a+2是第二个元素所在的地址

6楼:匿名用户

a+2就是a[2]的地址

c++中 有int a[10] ;int *p; p=a;则(*p)++,++(*p)什么意思?

7楼:匿名用户

int a[10]就是声明一个长度为10的int类型数组int *p 就是声明一个指针,这个指针在栈里,其版字节长为4,就是地址权。只不过这个地址是指向int类型的p = a就是让p指向刚才的那个数组的头(第一个元素)(*p)++这个要分两部分说,*p就是通过p这个指针指向的空间的数据,那么*p就是a[0],然后再++,其实就是a[0]++

现在就是a[0]++和++a[0]的区别了,后++是右值运算符,其运算等级较低,低到什么程度?比赋值运算还低。

举例:int b = a[0]++,因为其是右值运算,那么其运算顺序是b = a[0],然后a[0] += 1;如果a[0]开始是1,那么b就是1,a[0] = 2;

但是左++就不一样了,其运算等级相当高,高的程度和!差不多。

8楼:明渊阁

p=a表示将p指向数组bai

dua的首地址,意即p指向zhia[0];

*p则代表a[0],它的意思

dao是取所指向地址回的元素;

(*p)++指的是

答a[0]++,即将a[0]后自增1;

而++(*p)指的是++a[0],即将a[0]后自增1。

9楼:匿名用户

(*p)++和++(*p)如果没有和其它语句一起使用, 则意思是一样的, 取出a[0]的值, 然后将这个值+1; 如果是

其它表版达式.

如a = (*p)++;与a = ++(*p); 则a的值有权点不同, 一个a先取值后加1, 一个是先加1再赋给a

c++中string a[10]是什么意思

10楼:匿名用户

长度为抄10的字符串对象数组。

可以这样用:

a[0] = "this is the first string in array.";

a[1] = "this is the second string in array.";

cout << a[0] << endl << a[1] << endl;

11楼:蓝骑士之阿强

定义了一个具有10个元素的数组,数组中的每个元素都是string类型的。

12楼:匿名用户

定义字符串数组,元素个数为10个。

13楼:匿名用户

可以存10个字符串的数组a

14楼:匿名用户

定义字符串数组的,有10个元素

c++语言中a=a>=0?a:-a;什么意思

15楼:匿名用户

a=a>=0?a:-a;

a等于 a>=0?a:-a; 它的意思就是如果a>=0成立,取a 也就是a=a ,如果不成立去-a 那么a=-a;

这行命令的用处就是 给a取绝对值

16楼:匿名用户

和变量优先级有关系

在c++里自增运算符的优先级是2 减法运算符的优先级是4再加上表达式是反向解析的 于是-3的操作会先放在栈里碰到++运算符先做++的运算 然后-3才会出栈所以这个表达式在运算的时候的顺序应该是

1.a=a+1

2.a=a-3;

另外,站长团上有产品**,便宜***

17楼:

用数学来给你解释,其功能相当于下面的式子。

a=|a| //将a取绝对值后,再赋予a。

18楼:匿名用户

这个很简单 就是让a取得值不能为负数

公式解释 给a附一个值 如果这个值大于等于0 就取a 如果小于0就取a相反数-a 于是负数变正数

19楼:沧海雄风

a=a>=0?a:-a 如果 a>=0 则 返回 a 那么 a=a

如果a<0 则返回-a 那么 a= -a;

20楼:丶

a>=0吗、真 a取a的值,假a取-a

21楼:匿名用户

a>=0,把a的值赋给a

a<0,把-a的值赋给a

22楼:颖儿

就是当a>=0的时候则a=a,否则a=-a!

int *p=&a[0][0]; 中的*p是什么意思,怎样理解

23楼:匿名用户

int *p的含义是指定

bai义p为整型数据du的地址指针。

*表示zhi这是一个指dao针回。int 表示指针的数据类型。

&a[0][0]表示的是答a这个数组第一个元素在内存中的存储地址int *p=&a[0][0];这段**会将数组a的第一个元素的内存地址值赋给变量p

假如p的值发生变化,比如p++,执行后,p指针将会指向数组a的第二个元素。

通过*p操作,可以取得p所指地址下的存储内容。如y=*p;

24楼:l李念祖

第一行的*p是定义了一个整形的指针并赋值为&a[0][0]第二行中的是表示定义了一个数版

组,数组中的元素存权放的是指针,并且给数组的第一个元素赋值&a[0][0]

最后一行是定义了一个整形的指针名为p的指针

25楼:jianjian家族

int *p

定义*p是一个指针copy变量(指向baiint型);

int *p=&a[0][0];

这句话的意思是:

定义du了一个名p指向int型的指针变zhi量并初始化dao 把数组a[0][0]的首地址赋值给指针变量pint (*p)[3]=&a[0][0];

定义了 指向包含3个一维数组的指针变量

p为指针变量 ;指向包含3个一维数组

p+1表示指向3维数组的第一行的指针

*(p+i)+j表示i行j列元素的地址

*(*(p+i)+j)表示i行j列元素的值谢谢 希望能帮到你

若有定义:int a[10],*p=a,则*(p+5)表示()

26楼:李修炎

选a ,因为*p=a,这时是把数组a的首地址传给了指针p,而数组的定义是从a[0]开始的,所以p+5表示的是元素a[5]的地址,希望你现在明白了

27楼:匿名用户

b*(p+5)表示p+5这个地址指向抄单元内容,当然是int的,所以不是地址

p=a;的赋值后,p存放的地址就是数组起始地址也就是数组元素a[0]的地址,*p可以写成*(p+0),p[0],相当于a[0]

*(p+5)相当于p[5],a[5],即变量a[5]的内容所以应当选择b

28楼:艾萨克

b既然有p = a

那么 *(p + 5) p[5] *(a + 5) a[5] 都是一样的

c++中对于数组int a[9],*p=a,a+1,a++,++a,p+1,p++,++p有什么区别

29楼:

a++和++a是错误的,编译都不会过,因为数组名是常指针。只剩下a+1和p+1了,它们在使用上是没有区别,指向了同一个地方,但a是常指针而p是普通指针!

30楼:匿名用户

都不表示a[1]

a+1表示&a[1]

a++和++a都是非法p+1和a+1相同

p++和++p不一样,前者值是p后者是p+1

已知a 161 a 2,则代数式a 1+a的值

1楼 匿名用户 请问 a 是指的某种符号吗,因为显示不是绝对值,另外求的应该是a 1 a 吧? 已知 a 1 b 2 c 3 且a b c 求a b c的值。 2楼 匿名用户 a 1, b 2, c 3, a 1,b 2,c 3, a b c, a 1,b 2,c 3或a 1,b 2,c 3, a ...

C语言,定义二维数组a,则(a+1)表示什么a+5)表示什么

1楼 倒霉孩子改名啦 a 1 相当于a 0 1 , a 5 相当于a 0 5 已经越界了 c语言 二维数组 a 1 1 和 a 5 分别表达什么? 2楼 匿名用户 a 1 a 1 那么 a 1 1 a 1 1 a 5 a 5 c语言定义了一个二维数组a 5 3 用循环实现a 0 0 a 1 0 a ...

c语言二维数组a,为什么a和(a+1)等

1楼 a 1 指针取得不就是地址吗 2楼 匿名用户 a 1 是定义的指针, 因为数组的起始地址a 0 可以用a来代替 所以a 1 和 a 1 是同一个地址 3楼 首先a代表整个数组的首地址没问题吧,a 1就是把地址下移, a 1 就是取其地址的内容。这回可以理解了吧! c语言中二维数组a i j 为...