11问答网
所有问题
当前搜索:
数组变为指针
谁能帮我详解一下c语言中
数组
下标是如何
转化
成
指针
的?比如我定义一个数...
答:
所谓
指针
的概念,和CPU指令中地址的概念是一致的,c语言编译器负责将c语言
转化为
相应的cpu指令,
数组
的实现方式就是通过数组的首地址来寻址实现的,因此和指针的概念本质上实现方式是一样的。
int
数组
怎么弱化
为指针
答:
1、首先打开c语音编程,传入
数组
首地址和数组元素个数。2、其次将整个数组拷贝一份传入函数X将数据名看做常量指针传数组首元素地址。3、最后即可弱化
为指针
。
如何将二维
数组转化为
二维
指针
答:
int **arry;表示arry是个
指针
变量,它指向一个整型数据的指针变量。而int c[3][3],
数组
名c只是一个指针而已,arry相当于两个指针变量,一个指针怎么和两个指针对应,编译时就会报错的!!!即calculatesum(&C),calculatesum(C)这样都是错误的!!!可以这样定义:calculatesum(C);calculatesum(int...
c语言将
数组
名隐式
转换为指针
答:
数组
名就是数组元素的首地址,如int a[3],a和&a[0]是一样的。要想操作里面的元素,可以直接用,如a[2],也可以定义一个
指针
,让它指向a,然后用指针来操作!
c语言如何将代码从
数组
写的方法改成
指针
来写?
答:
double *a;int m,n,i;printf("请输入矩阵有几行:");scanf("%d",m);printf("请输入矩阵有几列:");scanf("%d",n);a=(double *)malloc(m*n*sizeof(double)); //加在这里就OK了 for (i=0;i<m*n;i++)scanf("%lf",&a[i]);...
把多维
数组
改成
指针
形式
答:
printf("%d号不及格,成绩为%f %f %f %f %f,平均分为%f\n",i+1,a[0][i],a[1][i],a[2][i],a[3][i],a[4][i],(a[0][i]+a[1][i]+a[2][i]+a[3][i]+a[4][i])/5);//这里就不改了,用
指针
麻烦死了 m=0;} return 0;} float youxiu(float a[5][4])//...
数组
做函数参数,是怎么退化
为指针
的
答:
本来就只传了一个数组的第一个元素的指针,一点也没有退化!C的各种教科书中都在数组章节以各种方式明示,数组不能整体赋值、传递,而且不少地方对涉及
数组指针
的函数形参的解释是写int *p、int p[]、int p[x](x是个常整数)都被解释为int *p。这就是说前述三种只是允许的写法而已,实质都是传...
如何强制
转换为
二维
数组指针
??
答:
指针
类型是不能进行强制
转换
的,尤其是多维
数组
的指针,只能重新定义。因为定义前就必须说明数组中”一个元素的长度“,这是由编译器决定的,如果不这么写无法用自带的便宜程序将你的代码进行编译
怎么把
数组
赋值给
指针
变量
答:
指针
变量可以指向一维数组中的元素,也可以指向多维数组中的元素。但在概念和使用上,多维数组的指针比一维数组的指针要复杂。1、二维数组的地址 二维数组可以理解为一个广义的一维数组,一个以一维
数组为
元素的一维数组。例如定义一个数组:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 则...
在C 语言中 “
指针
和
数组
等价” 到底是什么意思?
答:
一个 T 的数组类型的左值如果出现在表达式中会蜕变为一个指向
数 组
第一个成员的
指针
(除了三种例外情况); 结果指针的类型是 T 的 指针。这就是说, 一旦数组出现在表达式中, 编译器会隐式地生成一个指向数组第一个成员地指针, 就像程序员写出了 &a[0] 一样。例外的情况是,
数组为
sizeof ...
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
指针数组和数组指针的应用
c语言指针数组和数组指针
指向数组的指针
数组与指针
指针数组如何赋值
指针数组赋值
数组指针定义
数组和指针的关系
数组名是指针吗