为您找到"

{ int a[]={1,2,3,4,5,6}; int*p; p=a; printf("%d\n",*p); printf...

"相关结果约100,000,000个

int a[] = {1,2,3,4,5,}; int *p = a; int *q = &a[5]; printf("%d...

看看我下面的演示,你就知道那只是个巧合而已(5并不是数组里面的数字哦,两个地址差,16进制地址相减结果是0x14,换算成十进制就是20,int每个占4byte,所以20/4=5):int

. int a[]={1,2,3,4,5,6,7,8,9,10}, *p=a.i; 则下列能够正确表示数组元 ...

答案是D p[ i ]是数组a[ ]的第i+1个元素,&p[ i ] 即取数组a[ ] 的第i + 1个元素的地址,故&p[ i ]表示数组元素地址。A 错,a+1本身就是数组第二个元素的地址,再取地址编译报错 B 错,a是数组名,存储在静态区,不能进行自增++运算,只有变量才可以++ C 错,p本身就是指向...

C语言:定义int a[3][2]={1,2,3,4,5,6};,详解**(a+1)、*(a+1)[0...

[0]就是元素3的指针,*(a+1)[0]就是元素3。(*(a+1))[0]——由1知,*(a+1)是元素3的指针,(*(a+1))[0]就元素3。a[1][0]——不用细说,是第1行(0行起)第0个元素,自然是3。得出结论:当指针p成功指向数组a时,*p与a[0]等价,*(p+1)与a[1]等价,依此类推。

...给定一个数组a[10]={1,2,3,4,5,6,7,8,9,10};,使用指针将数组存放的内...

include <stdio.h>void main(){int a[10] = {1,2,3,4,5,6,7,8,9,10};int *p = new int[10];int *temp = p;int i = 9;while (i>=0){p++ = a[i--];}while(*temp>0)printf("%d\t",*temp++);}用指针去接收数组的首地址,就可以了,好久没有写C的,不好写,怕写...

...int main(void) { int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10...

错误就这 *q = NULL,赋初值就在这里 而 *q= *(p + 5); 是 给内存(指针所指地方)存数据 无法往 NULL 存数据吧 因为

若int a[]={1,2,3,4,5},*p=a;求*p++,*++p,++*p的值

值为2.p=a;语句之后,p指向的是数组a的第0个元素,也就是a[0];(*++p)++表达式:根据运算符优先级,先计算括号内内容,++p,首先自增p,此时p指向第1个元素,即指向a[1];然后通过*得到a[1];后置++不立即改变a[1]的值(值为2),而在此表达式之后a[1]值为3。求采纳为满意回答。

int a[2][3] int (*p)[3] = a;

a[3][2]={{1,2},{3,4},{5,6}};int (*p)[3] = a;(*P)代表的是行;则p指针指向的是函数3个元素(每个元素两个值)的数组;*(p+1)为这个数组第二个元素({3,4})的首地址,(*(p+1)+1)为{3,4}里的第二个元素,为4。p...

main() { int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a; printf(〃%d\n...

(p+2)就是先把P指向的地址后移两个单位,P初始化指向a数组首地址,后移两个单位后即 a[2]= 3 ;答案

int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int **p; p=(int**)a; 其 ...

类型不匹配,才需要强制类型转换,更简单地说编译不过,强制转化就能编译过!a 不是 int ** 类型的 ,虽然一维数组的数组名是一个指针 ,但是二维数组却不尽其然 ,因为它所指向的东西是有大小的 ,具体的来说 ,这个 a 是 int[3][3] 类型的 , 编译器需要知道要操作的单元的大小,a...
1 2 3 4 5 6 7 8 9

相关搜索