88问答网
所有问题
当前搜索:
int a[10],*p=a;
若有
int
a[10],*p=a;
,下列不能表示a数组首元素地址的是()。
答:
正确答案:B
int
a[10], *p=a;
合理吗? a不是代表数组首个元素的地址吗?而*p不是...
答:
int
a[10], *p=a;
//上面这样是可以的,因为这是在定义指针变量p的同时对其进行初始化操作,这样的做法是//没问题的,但是也只限于在定义指针变量的时候可以这样做,其他情况是不允许的。//在定义指针变量的时候,它前面的*只是起指示说明这个变量是指针变量的作用,而不是起//运算符的作用,这点...
设有语句
int
a[10],*p=a;
,则下面的语句中不正确的是
答:
前三个赋值语句都是正确的。选项D是错误的
,a
是数组,只能对数组元素赋值,要有下标。选D。
* p= a
什么意思?
答:
c语言中*p=a是指针变量赋值语句,这种写法有两种可能意思:指针变量定义时的初始化赋值
int
a[10]
;int
*p=a ;
//这时的a是个地址,如:数组名或指针变量,表示定义指针变量p,同时,p指向地址a。 这里的*是跟随int的,用来表示p变量是int *类型。指针变量定义后,给指针变量所指内存中的数据赋值...
定义数组
a[10]
*p,
为什么
*p=a
和p=a效果一样
答:
方式不一样,目的相同。
int
a[10],*p=a;
//这是定义时初始化 int b[10],*pb;pb=b; //这是定义了指针变量pb,再给pb赋值。
.若有说明语句“
int
a[10],*p=a;
”,对数组元素的正确引用是: A、a[p...
答:
答案为D。参考下面程序23行 p[2]=*(p+2)include <iostream> using namespace std;void test(double a[3][4]){
int
i,j;double k;double* b
=a[
0];for(i=0;i<3;i++){ k=a[i][0];//通过for循环找到最大值 for(j=1;j<4;j++){ if(k<a[i][j]){ k=a[i][j];//...
int
a[10],*p=a
,*q=&a[5];q-p=
答:
因为指针p指向的是数组a的第1个元素,指针q指向的是数组a的第6个元素,注意数组下标是从0开始的,所以q-
p=
5,希望能帮到你。
int
a[10],*p=a;
则p+4表示什么?
答:
p是指向
int
数据类型的指针,由于int
*p=a;
所以他指向
a[
0]p+4表示的是a[4]的地址,所以*(p+4)(取地址p+4上的值)==a[4]p表示的是a[0]的地址
int
a[10],*p=a
与 int (*p)[10]一样吗
答:
不一样,
int
a[10], *p=a;
p定义是指向int 的指针, 然后赋值为a,访问数组的元素可以用a[i],等同于p[i];int (*p)[10]仅仅是声明类型,指向数组的指针,没有赋值,p的值是不确定的。可以这样赋值,你应该可以看出差别了。int (*p)[10]int b[2][10];p = b;或者 int a[10];int ...
若有定义:
Int
a[10],*p=a
,则*(p+5)表示()
答:
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 ...
1
2
3
4
5
6
7
8
9
10
下一页
尾页
其他人还搜
已知int a[10],*p=a
int a[10]={10*1}
int a[5],*p=a
int a=1,b=2,c=3;
int n=5,a[n]
int a[10]
int a[2][3]
int a[4][4]
若有定义int a[2][3]