错误就这 *q = NULL,赋初值就在这里 而 *q= *(p + 5); 是 给内存(指针所指地方)存数据 无法往 NULL 存数据吧 因为
类型不匹配,才需要强制类型转换,更简单地说编译不过,强制转化就能编译过!a 不是 int ** 类型的 ,虽然一维数组的数组名是一个指针 ,但是二维数组却不尽其然 ,因为它所指向的东西是有大小的 ,具体的来说 ,这个 a 是 int[3][3] 类型的 , 编译器需要知道要操作的单元的大小,a...
int a[][4]={1,2,3,4,5,6,7,8,9,10} 这么写的话,实际上a的构造是:int a[][4]={ {1,2,3,4},{5,6,7,8},{9,10,0,0},{0,0,0,0}};p=*(a+1);也就是p指向a第1行的行首元素,也就是*p=a[1][0]=5 所以9的表达式是,a第2行的行首元素,也就是a[2][0]...
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;}结果就...
main(){ int a[]={1,2,3,4,5,6};int *p;p=a;printf("%d ",*p); //数组a第一个元素是什么,是:1 printf("%d ",*(++p));//第2个元素是什么,是:2 printf("%d ",*++p); //第2个元素自增1是什么,是:3 printf("%d ",*(p--));//还是问第2个元素是几...
C错误 p + i, 显示的是地址,不是数组元素值。应该为*(p + i)b
若有定义int a [][3]={1,2,3,4,5,6,7,8,9},则表达式size of(a)/size of(a[0])的值为 对于一个整型二维数组,size of(a)=9 即实际内容所占的大小;a[0] 是指第0行的3个元素 因而size of(a[0])=3;最后答案就是 9/3=3;...
include<iostream>using namespace std;int main(){ int a[3][3]={1,2,3,4,5,6,7,8,9}; int i,j; for(i=0;i<3;i++) //这里 { for(j=0;j<=i;j++){ a[i][j]=0; } } for(i=0;i<3;i++) { for(j=0;j<3;j++) { cout<<a[i][j]; } ...
C p[i] 是相当于a[i],这不是在获取元素a[i]的地址吗? 为什么C也正确??// p[i] 是相当于a[i]A 中为什么能用用p减a??a[p-a]什么意思?? //p的值就是a,所以p-a的值为0,相当于a[0]D 是不是相当于*a[i], 因而不正确?? //是的*(a+i)就是a[i],那么再*a...
SeqList* A;int a[]={1,2,3,3,3,4,4,4,4,5,6,7,8,8,8,9,9};A=a;A=Delete(A);链表没有初始化。应该改成:SeqList* A;int a[]={1,2,3,3,3,4,4,4,4,5,6,7,8,8,8,9,9};A->data = a;A->last = 9;A=Delete(A);