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 为...