...a[3]={1,2}, *p=a; 则*p与*(p+2)的值分别是 。
p就是a[0]=1 (p+2)=a[2]=0
...2]={1,2,3,4,5,6}, (*p)[2]=a;表达式**(p+2)的值?
则p+2就指向了a[3],*(p+2)是a[3]的首地址,**(p+2)就是a[3]的首元素,即为5。
int a[ ][3]={1,2,3,4,5,6,7,8,9,10,11,12};int*p=a;求 *(*(a+2)+...
值是9,int a[ ][3]={1,2,3,4,5,6,7,8,9,10,11,12};是定义一个二维数组,他有3列 由后面的十二个元素可知它有4列。int*p=a;是定义一个实数指针, *(*(a+2)+2)就是指数组a[2][2所以是9.(下标从0开始算)]...
c++错误0x... 处(位于... .exe 中)引发的异常: 0xC0000005: 读取位置...
int a[3] = { 1, 2, 3 };int *p = a;则p、p+1、p+2分别指向数组a的3个元素。不需要自己推算实际占用大小,这是编译器的事情 ifstream inFile;ofstream outFile;outFile.open("c:\\\\b.txt",ios::out);char univ[] = "Tsinghua",name[10];int course = 111,number;outFile<<univ<<...
1.设变量定义为"int a[2]={1,3},*p=&a[0]+1;"则*p的值是___
1、*p=3 2、"w+"]3、将str中的字符串输出到fp所指向的文件中(这个就是把HELLO写到PRN文件中)4、首先*a[2]是一个指针数组就相当于一个二维数组(这个你可以看成是a[2][3]的二维数组),而**p=a就是把这个二维数组的首地址赋值给p 那么p现在指向了二维数组中第一个字符的地址(p现在指向...
有定义inta[5]={1,2,3,4,5},如有int*p=a,则*p的值,*(p+2)的值
p = a[0], *a ,*(a+0) , p[0] 都是 数组的第一个元素1 (p+2),*(a+2),a[2],p[2],都是 数组的第三个元素 3 a 和 p 的差别就是 a指针是常量 无法做改变指针值,p是变量
若int a(3)={1,2,30},*p=a,则*(p++)= ,*(a+1)=
(p+1)=1 (a+1)=2 a和p都是数组第一个元素的地址 不难理解a+1是第二个元素的地址,所以*(a+1)=2 这里说下*(p++)++在p的后面,是先进行运算,后自加1,也就是说p先解引用,而后在自加1,解引用的结果自然是1
...int a[3]={1,2,3};int *p[]={&a[0],&a[1],&a[3]};那么*p+1,的值为 ...
p+1 是a[1]的地址!
若有int a[3]={10,12,30};int*p=a;则a+1是___的地址,*(p+2)=___
也就是第一个数组元素a[0]的地址 a+1 就是第二个元素的a[1]地址 就是&a[1]int*p=a;就是指针p指向一维数组a的首地址 也就是第一个数组元素a[0]的地址 即 p 和 &a[0] + 0相等 p+2就是 和 &a[0] + 2相等 即 &a[2](p+2) 就是 a[2] 等于 30 ...
int+a[3][2]={{6,5},{4,3},{2,1}},*p=a[1];则*(p+2)的值?
将其指向a[1],也就是{4,3}这个一维数组的首地址。那么,p加2指向的是{2,1}这个一维数组的首地址,而*(p+2)则表示取该地址上的值,即1。因此,*(p+2)的值为1。需要注意的是,题目中的表达式“int+a[3][2]”是错误的,应该是“int a[3][2]”才是正确的语法。