0<=i<4
int a[4][10],*p,*q[4];
下列错误赋值的是:
A,p=a B,q[i]=a[i] c p=a[i] D q[i]=&a[2][0]
分别解释下呗
答案为A
C语言指针数组的问题 刚刚有点错误
int A[10];int *Q;Q = A; >>> 明白了吗?一位数组可以赋值给一维指针。(仅限一维!)但多位数组不可以赋值给多位指针,切记啊!再看我们的问题:q[i] = a[i] ?因为 (a[i]) 是一维数组(加上括号是因为a[i]作为一个整体,记住:a是所谓的二维数组!);而 (q[i])...
c语言中,数组的指针问题。
1 指出你的错误:1,2中被没有取地址符,&叫做取地址;*准确的说也不是取内容 2 你的意思是说 p+i是第i行的首地址,然后取* ,就得到了内容, 是吧?p+i 是行地址,取* 就变成了列地址,所以它还是指向第i行的列地址,而a(也就是p),它是行地址,,只有对列地址取* 才会成为具...
c语言,指针指向另一个指针的问题,为什么报错?
图中红色框内代码有误,*(p+5)不是表示指针而是值。应改为 q = p+5 另外补充说明,改成这样虽然没有语法错误,但是很明显p+5已经超过数组a的内存空间,需要注意。
C语言 指针数组的问题
A)p=a,错误 取a的地址赋值给p,p是数组,数组就是常量指针,所以不可以赋值。B)p[0]=a,错误 p[0]是整数指针,类型是int *,和a的地址类型不匹配。C)p[0]=&a[1][2],正确 &a[1][2]是a数组中一个整数元素的地址,类型int * 和p[0]类型匹配。D)P[1]=&a,错误 &a就是a的...
c语言指针指向数组的问题。
首先你要明白一点,数组名和指针本质上是一回事,都是地址,该数组的首地址。知道这一点后就可以活学活用了。这是c语言的精髓。比如你定义了int *p,a[10];并且让p=a;, 这个操作叫做指针p指向了数组a,其本质是给p这个变量付了一个值,就是数组a的地址,也是a[0]的地址,也是a本身里面存储的...
C语言中数组和指针的问题。
数组是数组,指针是指针。a是a,a[0]是a[0]。只不过在作为sizeof、&的操作数等有限几个左值上下文之外的场合数组a会退化(隐式转换,结果的类型是元素的指针类型,丢弃了数组类型中的长度)成指向首个元素的指针&a[0],所以容易造成误解。先考虑LZ最后的表述。注意C语言中对象可以理解为被占据的...
大虾救命,c语言中找鞍点的问题。就一个错。但是,小弟实在无能为力了...
\/\/\/哪里是你说的一个错 一大堆错\/ include <stdio.h> void main(){ int array[100][100],n,m,j,i,k,l,f=0; \/\/按照你这个程序的意思,应该把二维数组定义足够大 保证你输入的 m n 在之内 printf("please input the row:\\n ");scanf("%d",&m);printf("please input ...
C语言选择题,关于指针数组。求详解
int (*pt)[3]; 定义了一个数组指针,也就是定义了一个指向有三个元素的指针,即该指针,每次自加1,地址跳过三个int pt=a; 就是让pt指向a[0],注意a[0]是一个数组地址,里面有三个元素 对于A选项,pt[0][0]是正确的,pt[0][0]等价于a[0][0]对于B选项,不正确,因为pt+1就是a...
一个C语言中指针型字符数组的问题
这两个初始化有不同的含义。前者初始化一个字符数组的元素,而后者是一个真正的字符串常量。这个指针变量被初始化为指向这个字符串常量的存储位置。故你不能给一个常量赋值,C语言中,可以作为左值,也就是可以被赋值的不能为常量!再深入一点儿,字符串常量属于静态存储(static)类。静态存储是指如果在...
c语言指针向数组赋值问题
你这种错误就是不能从char* 赋值给char[64],这是很基础的指针问题,数组名代表数组的首地址是不允许修改的,指针可以修改,字符串数组复制可以一个字符一个字符赋值,也可以用memcpy()函数赋值,当然如果传入的是字符串的话还可以使用strcpy()函数 ...