77问答网
所有问题
int a[3] = {1,2,3}; int*p, *q; p = a; q = &a[2]; int i = q-p;为何i的结果为1而不是8,C语言的规定?
如题所述
举报该问题
其他回答
第1个回答 2013-05-16
你这个数组定义的是想3个数1,2,3还是4个数1,2,3,0?
<上一页
1
2
相似回答
int
a[3]
[
3]=
{
{1,2,3},
{4,5,6},{7,8,9}
};
中
a[1]
是不是常量,为什么
答:
int
a[3]
[3]={
{1,2,3},
{4,5,6},{7,8,9}};这是一个3*3的二维数组. a[1]是a[1][0]的地址,即第二行首地址. 可以认为是常量指针.类型相当于int
*
型.q=a[1] 类型匹配. 可以赋值.而
&a[1
] 并不是int **型, 而是一个数组指针, 类型为int (*)[3].所以 int (*m)[3]...
一
个指针赋值给另一个指针,这个指针还能自增吗
答:
include <stdio.h>int main(){
int *p,*q
,
a[3]
=
{1,2,3};p
=
a;q
=
p;p
++;printf("p=%d q=%d *p=%d
*q=
%d\n",p,q,*p,*q);q++;printf("p=%d q=%d *p=%d *q=%d\n",p,q,*p,*q);}上面是个测试小程序,结果如下 分析:p与q共用数组a申请的内存单元 指针p和...
int
a
,*p,*q;p=q=&a;
为什么不正确?
答:
int
a
,*p,*q;
// 定义一个 int 型变量 a, 和两个指针变量 p , qp
=q=&a;
// 把 a 的内存地址 赋值给 q 和 p 。意思就是 q , p分别都是指向 a
c语言 指针问题 怎么会是这个
结果
?
答:
q[3][
0]相当于
*q[3]
,即20 比如int
a[]={1,2,3,
4
};int *p=a;
则p[0]相当于*p即
为1,p[
1]相当于*(p+1)即为2,指针数组同理
int
a[]
=
{1,2,3,
4,5,6
};
则int (*ptr) =
a;
int *p
= a[0] 有什么...
答:
int (*ptr)=a; //ptr指向第一个元素1 int
*q=a;
//q指向第一个元素1
int *p=&a[
0]; //p指向第一个元素1 给个程序你验证下把 include <iostream> using namespace std;void main(){ int
a[]
=
{1,2,3,
4,5,6
};int
(*ptr)=a; //ptr指向第一个元素1 int *q=a; /...
int
a[10
],*p=
a
,*q=&a[
5
];q-p=
答:
因为指针p指向的是数组a的第1个元素,指针q指向的是数组a的第6个元素,注意数组下标是从0开始的,所以
q-p=
5,希望能帮到你。
int
a
=2;*p=&a,*q=p;
中*q=p是什么意思啊?
答:
int a
=2;
//定义变量a,初始化值2
int *p=&a;
//指针p指向变量a,换言之,指针p储存了变量a的地址 int
*q=p;
//指针q储存了指针p储存的地址(变量a的地址)换言之,指针q指向变量a q//可以代表变量a的值 q//可以代表变量a的地址
大家正在搜
相关问题
void main() { int a[4]={1,2,3,...
int a[] = {1,2,3,4,5,}; int *p...
以下程序段运行后x的值为( ) int a[]={1,2,3...
int a[10]={1,2,3,4,5,6,7,8,9,1...
main() { int a[9]={1,2,3,4,5,6...
int a[8]={1,2,3,4,5,6,7,8},i,*...
以下程序结果是 main() {int a[]={1,2,3...
下面程序运行结果是( )。 main( ) { int a[...