int a[ ]={0,1,2,3,4,5,6,7,8,9}:意思是a数组为包含{0,1,2,3,4,5,6,7,8,9}的整数数组,int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a:p是等效于a的整数指针,你应该这样读int *p =a;(*号跟着变量走)定义了一个指针等于a数组首地址。其实...
int main(){ int a[10]={5,3,6,1,7,4,9,2,8,10};int i,max,*p;p=a;//将a数组的首地址赋给指针变量p max=*p;//将a数组的第一个元素a[0]赋给变量max p++;//将指针变量p指向a数组的下一个元素a for(i=1;i<10;i++){ if(*p>max){ max=*p;} printf("\nmax=%d\n"...
首先,我们需要包含头文件,并定义数组的大小为10。代码如下:<code> include define SIZE 10 </code> 接下来,在主函数中,我们定义一个包含10个元素的数组a,并使用宏定义SIZE初始化数组。<code> int main(void){ int arr[SIZE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};int *p;int...
【答案】:D 解析:通常,引用一个数组元素可以用下标法,如a[p-a]形式,或指针法,如*(&a[i])的形式。本题中a[9]=9,a[10]显然超出了数组范围,注意,数组的下标是从0开始的。
题目1 void main(){ int i;char a[3];a=1;(a+1)=2;(a+2)=3;for(i=0;i<3;i++){ printf("%d.\n",a[i]);} return;} 题目二 include<stdio.h> void main(){ int i,j;int A[3][4]= { {1,2,3,4},{5,6,7,8},{9,10,11,12} };int (*p)[4]=A;for(i...
<pre t="code" l="bash">选择 B int a[][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};相当于<pre t="code" l="cpp">int a[][4] = { {1, 2, 3, 4},{5, 6, 7, 8},{9, 10, 0, 0} };而<pre t="code" l="cpp">int * p = *(a + 1);表明 p ...
选择D 数字只有10个元素,下标依次是0-9,下标为10是越界了 答案
错误就这 *q = NULL,赋初值就在这里 而 *q= *(p + 5); 是 给内存(指针所指地方)存数据 无法往 NULL 存数据吧 因为
a代表数组起始地址,也就是1的地址,a+10是0后面地址 a
(*prt)[3]=a,指向数组a,a[0][0],a[0][1],a[0][2]...,a[3][2],指针确实很麻烦..p=a[0] ;p指向a[0][0],a[0][1],a[0][2]验证程序如下:include<stdio.h>void main(){int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12} , (*prt)[3]=a, *p=a[0] ;...