11问答网
所有问题
当前搜索:
数组变为指针
C语言
指针数组
问题 求高手详解
答:
当k=0时,就是p[0][4-0]因此,因为p[0]是指向的
数组
m的开始,因此p[0][4]就是指的数组中下标为4的元素,也就是8 当k=1时,就是p[1][4-1]=p[1][3],因为p[1]是指向的数组m+2以数字4开始的位置,因此p[1][3]就是指的从4的位置起(4的下标对于
指针
p[1]来讲为0),向后...
如何定义一个指向
数组
的
指针
答:
char *pc[10]; /*定义一个10个元素的
指针数组
,元素为指向char型变量的指针变量*/ 不论指针数组是什么类型,指针数组的每个数组元素都用来保存一个地址值,在TurboC下,每个数组元素是一个unsigned int型变量,占用2个字节。指针数组定义后,可以使数组元素指向一个变量和其他数组的首地址。下面是一个...
数组指针
和
指针数组
的区别
答:
数组指针数组
名本身就是一个指针,指向数组的首地址。注意这是声明定长数组时,其数组名指向的数组首地址是常量。而声明数组并使某个指针指向其值指向某个数组的地址(不一定是首地址),指针取值可以改变。指针数组主要用来指向若干字符串,使字符串的处理更加灵活。同时,我们应该清楚知道,字符串本身就是一个一维...
数组指针
是指向数组地址的指针,对吗?
答:
要注意区别。p是一个
指针
变量,它指向包含4个int元素的一维
数组
,此时p的增量以它所指向的一维数组长度为单位。(p+i)是一维数组a[i][0]的地址;*(p+2)+3表示a[2][3]地址(第一行为0行,第一列为0列),*(*(p+2)+3)表示a[2][3]的值。
C语言怎么用
指针
代替二维
数组
答:
2.如果定义int (*p1)[n];p1=a;p1++后,p1指向a[1][0];则p+j将指向a[0]
数组
中的元素a[0][j]。由于a[0]、a[1]┅a[M-1]等各个行数组依次连续存储,则对于a数组中的任一元素a[i][j],
指针
的一般形式如下:p+i*N+j, 相应的如果用p1来表示,则为*(p1+i)+j。元素a[i][j...
深入理解二维
数组
名与
指针
的关系
答:
指针
常量二维
数组
名是一个指针常量,它指向数组中的第一个元素。与普通指针不同,你不能通过a++操作让a指向数组的第二个元素。樂数组名占据内存吗?从编译器的角度看,数组名不占据内存,编译器将它们替换成了特殊的标志。但实际上,当你定义一个数组时,编译器确实为你分配了相应的内存空间。深入理解编程...
如何将一个int型的地址值
转换
成指向
数组
的
指针
?
答:
include<stdio.h>main(){ int a[2]={1,2}; //定义一个长度为2的int
数组
int *pt; //定义个一个指向int类型的
指针
pt pt=a; //数组名即是数组的首地址,把数组a首地址值赋值给指针}满意请采纳。
关于
数组指针
的问题 inta [5][5]; int (*p)[4]; p=(int(*)[4])a...
答:
即指向一片二维
数组
,该二维数组行数不定,列数为4 上面我已经标注了p[4][2]的位置了(偏离首元素位置为18---从0 开始算的)把二维数组强制类型
转换
成(*p)[4]的过程就是把数组a所在的内存数据看成是行
指针
所指数据,换句话说就是直接把p指向了a的区域(事实上强制转换什么都没做)下面 对于...
指针
与
数组
的关系是什么啊
答:
1、
指针
:系统为某一个变量开辟单元格,指针便指向此单元格的变量值。2、
数组
:系统为某一组数开辟一组单元格,数组首地址便是你定义的数组变量名。数组和指针的唯一区别是,不能改变数组名称指向的地址。对于数组来说,数组的首地址,也可以用指针来表示操作,如:int a[10];int *p,n;p = a;...
定义了一个常
数组
,为什么能用
指针
改变数组元素的值?
答:
常
数组
不可以改变值。定义数组时,如果有const修饰,表示其为常数组。对于常数组,会在编译后放置与常数区间中,这部分内容是只读的,不可以做任何修改。一旦对其进行修改,就会导致程序崩溃。所以常数组无论使用何种方法,均不能修改其值。在C语言中,通过
指针
的强制
转换
,可以取消其常量标记。比如 const ...
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
字符指针数组
数组指针的用法
指针数组初始化
指针数组的赋值与引用
如何将一个区域变为数组
怎么把字符串变为数组
将字符串变为数组
数组变字符串
js字符串变成数组