若有定义int(*p)[3]; 则定义了一个名为p的指针变量 它可以指向每行有三个整数元素的二维数组请问如何理解这句话和此定义 为什么是二维数组?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 18:41:06
若有定义int(*p)[3]; 则定义了一个名为p的指针变量 它可以指向每行有三个整数元素的二维数组请问如何理解这句话和此定义 为什么是二维数组?
若有定义int(*p)[3]; 则定义了一个名为p的指针变量 它可以指向每行有三个整数元素的二维数组
请问如何理解这句话和此定义 为什么是二维数组?
若有定义int(*p)[3]; 则定义了一个名为p的指针变量 它可以指向每行有三个整数元素的二维数组请问如何理解这句话和此定义 为什么是二维数组?
首先(*p)[3]是一个指针数组,意思就是p这个指针是指向一个含有3个元素的数组的,那么p指针每一次加1就相当于把p中存的地址加6(前提是int类型占2个字节,在VC中是占4个字节).
举个例子:
int a[3][3];
int(*p)[3];
p=a; //也就是把数组a的首地址存放到p中
那么p[1]就是a[1][0]的地址,p[1][0]就等于a[1][0],而p[1][2]就等于a[1][2];
这就说明了为什么是二维数组了
若有定义:int *p[3];'则以下叙述正确的是 帮我详细说说为什么!若有定义:int *p[3];'则以下叙述正确的是 A.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针B.定义了
若有定义int a[8],*p=a;,则*(p+3)表示_____
若有定义int(*p)[3]; 则定义了一个名为p的指针变量 它可以指向每行有三个整数元素的二维数组请问如何理解这句话和此定义 为什么是二维数组?
若有定义 int a[3][4],*p; 则对数组元素a[i][j](0
(27)若有定义int(*Pt)[3];,则下列说法正确的是 A)定义了基类型为int的三个指针变量 B)定义了(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了
若有定义int a[10],*p=a;,则p+5表示什么
若有以下定义,int s[7],*p=s,则p+4表示
若有定义:int x;,则定义一个可以指向整型变量x的指针P的语句是什么?
定义int *p[3]表示什么?
若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一
若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int 的三个指针变量B)定义了基类型为int 的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了
C语言……….若有定义语句:int a[4]={1,3,5,7},*p;p=a;则*(p+1)的值是
若有以下定义和语句:int a[5]={1,3,5,7,9},*p; p=&a[2]; 则++(*p)的值是__6__.
若有以下定义和语句:int a[4]={1,3,5,7},*p; p=&a[2]; 则*--p的值是【 】
若有定义 int x=3, *p; 则使 p 指向变量 x 的赋值语句为_____?
1.已有定义 int a[10],*p; 则正确的赋值语句是( ).A.p=100; B.p=a[5]; C.p=a[2]+2; D.p=a+2;2.若有定义int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是 ( )A.*p B.a[1] C.*a D.a[10]3.设有定义int x[6]=
1.已有定义 int a[10],*p; 则正确的赋值语句是( ).A.p=100; B.p=a[5]; C.p=a[2]+2; D.p=a+2;2.若有定义int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是 ( )A.*p B.a[1] C.*a D.a[10]3.设有定义int x[6]=
1.已有定义 int a[10],*p; 则正确的赋值语句是( ).A.p=100; B.p=a[5]; C.p=a[2]+2; D.p=a+2;2.若有定义int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是 ( )A.*p B.a[1] C.*a D.a[10]3.设有定义int x[6]=