00问答网
所有问题
当前搜索:
指针给数组赋值
C语言二维
数组
的地址为什么 不可以
赋值给指针
变量?
答:
二维
数组
的数组名和一维数组的数组名不一样。一维数组名a表示其首地址,
指针
类型是(int *)。二维数组名d表示其行指针,指针类型是(int (*)[7])。所以你要定义指针去用二维数组名
赋值
,需要定义指针int (*k)[7];不是int *k。或者你把二维数组当成一维数组来看(二维内部地址是连续的,和...
指针数组
作为参数传递
答:
a是
指针数组
,元素是char指针 ,数组传递的时候编译器只会传递数组地址,也就是a的地址,是指针数组的地址。进入函数时,复制了份指针数组的地址,而不是数组本身。函数内 char *p="add";//先在常量区放入"add",并将地址
赋值
给p a[1]=p;将p的值也就是常量字符串的地址赋值给a指向的数组中的...
C语言
指针赋值给
整型求解答
答:
是对地址取值 &是对值取地址 所以 和你所说的 把地址的值
赋值
给整型变量一致 您好,很高兴为您解答,流星不死为您答疑解惑 如果本题还有不懂的地方请追问,望采纳我的回答。祝楼主学习进步。
C++
数组
名到底是什么呢?是不是地址?为什么可以
赋值给指针
?
答:
是的,
数组
名是地址,是第一个元素的地址——一维数组的数组名就是下标为0的那个元素的地址;二维数组的数组名就是下标为0的那一行的地址……
怎么用
指针
的指针 指向二维
数组
的每个元素
答:
比如整型二维
数组
, 先定义int **p 然后 根据行数,申请和行数相同的int *
指针
每个指针指向二维数组对应行。这样就可以通过每行的首地址,访问该行所有元素了。
请问在C语言中,函数传参时怎样利用
指针
传递
数组
答:
数组
名就是
指针
,例如:include <stdio.h> void pr(char *p){ printf(p);} void main(void){ char s[] = "abc";pr(s);}
二维
数组
名不能
赋值
给二级
指针
- -
答:
回答:你理解的是对的,但是错在,a是指向一维
数组
,p是指向int*,这两个不等价。a指向一维的int数组,内存大小为sizeof(int)*数组长度;而p只是指向一个int*类型
指针
,内存大小为4。指针指向的类型实际是不同的。这里你可能又有疑惑,为啥int b[10]一维数组就可以
赋值
给int* pb = b呢,这是...
C语言 用
指针
生成一个三维
数组
,用main调用另一个函数,该指针作为参数...
答:
示例代码:include <stdio.h>#include <stdlib.h>int main(){ //有效部分int ***p = (int***)malloc(sizeof(int**)*3);for (int i = 0; i < 3; ++i){p[i] = (int**)malloc(sizeof(int*) * 4);}for (int i = 0; i < 3; ++i){for (int j = 0; j < 4;...
c语言中将一个
数组
内容通过
指针
放到到另一个数组中,不按顺序放比如我想...
答:
int a[9]={1,2,3,4,5,6,7,8,9};/*原来的代码可能会报错,因为你定义的
数组
大小是8,但是
赋值
的数组元素有9个,需要将数组a[8]改成a[9]*/ int b[3]={0};int *p;p=a;b[0] = p[2]; b[1] = p[6]; b[2] = p[8];以上代码会把对应的数据元素的值放到数据b中。
C语言中可以给
指针
变量
赋值
常数吗?
答:
chara[10]=“hello”;这种是
数组
的初始化,和a[0]=‘h’a[1]=‘e’,是一个道理。换成chara[10],然后a=“hello”就不行了“hello”
赋值
的值是一个地址,而a虽然也有地址,但是这与
指针
是不一样的,指针的值是地址,而数组的值虽然也是地址,但是却是一个常量,所以不能给常量赋值。
棣栭〉
<涓婁竴椤
5
6
7
8
10
11
12
9
13
14
涓嬩竴椤
灏鹃〉
其他人还搜