为您找到"

int a[]={1,2,3,4,5};int *p;p=&a,这样的操作不行?

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

int a[10]={1,2,3,4,5,6,7,8,9,10};

1 2 3 4 5 6 7 8 9 10p当前指向的位置是 a[3]中的内容,对应的内容就是 4p 的初值就是4, *(p+5)= 9include <stdio.h>int main (int argc,char *argv[ ]){int a[10]={1,2,3,4,5,6,7,8,9,10};int *p;p=&a[3];printf("%d\n",*(p+5));return 0;}结果就...

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

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

int a[5]={1,2,3,4,5} ,*p=a;请问p+1表示整数(?)的地址?(是填2,还是...

2和a[1]都可以,2是数据具体的值,a[1]是数据的名称,就像int i=2,i是变量名,2是变量具体的值一样

. 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本身就是指向...

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

结果是两个地址值(以十六进制显示出来),其中第一个是a[0]的地址,因为*p=a[0], p=&a[0], 即指针p指向的是数组a的首地址(即a[0]的地址)。望采纳

如何理解inta[3]={1,2,3,4};?

这题有意思,首先 int a [] [3] = {1,2,3,4,5,6}; 是一个二维数组,但是内存空间中这些数据的存储是连续的。可以理解为 int a [5] = {1,2,3,4,5,6}; a存储的都是数组的首元素地址,区别在于以为一维数组的下标代表的是地址,二维数组下标代表的是行和列的个数。int (*p)[3...

如何在二维数组中访问任意一个元素?

1.使用列指针:定义一个列指针p,让它指向二维数组的第0个元素 int a[3][4];int *p;p=&a[0][0];//因为a[0]是第0行的数组名,所以p=&a[0][0]相当于p=a[0],因为a[i][j]前面共有i*4+j个元素 该二维数组的任意i行j列元素可表示为*(p+i*4+j)。2.使用行指针:定义一个...

#include〈stadio.h〉 main(){ int a[12]={1,2,3,4,5

不能使用中文标点。改正标点后,程序已经运行通过,运行答案是12。include<stdio.h> /*这里原来多了一个a*/ main(){int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;for (i=0;i<4;i++)p[i]=&a[i*3];printf("%d\n",p[3][2]);} p[3]是...

??有以下程序: void main() { int a[]={1,2,3,4,5,6

A正确,选A。*q=*(p+5);是给q指向的目标赋值*(p+5)(就是数组中的6)而不是给指针q赋值,可是q已被初始化为NULL,是个不可使用的指针(即无效指针)。程序

int a[10] = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,

p=&a[3]就是p指向了a[3],然后p[5]=>*(p+5)就是在a[3]的地址上再往后移动5个,就是a[8]了,当然就是9的值了,答案就是D p
1 2 3 4 5 6 7 8 9

相关搜索