99问答网
所有问题
当前搜索:
数组指针和指针数组的联系
请问int *(p[4]) 和 int(*p)[4]的区别并举例
答:
p是二级指针,即指向
指针的
指针,他也是一个指针,主要区别在于应用的范围不同,行指针作用对象仅仅是二维数组,二级指针的应用范围就广了,比较典型的就是他可以用指针参数传递内存,
指针数组和数组指针
可没有这样的用法。也可以用他动态申请内存,存储二维数组元素等等 楼主耐心学习吧,只要坚持下去,这些...
那么为什么作为函数形参的
数组和指针
申明可以互换呢?
答:
这是一种便利。由于数组会马上蜕变为
指针
, 数组事实上从来没有传入过函数。允许指针参数声明为数组只不过是为让它看起来好像传入了数组, 因为该参数可能在函数内当作数组使用。特别地, 任何声明 “看起来象”
数组的
参数, 例如 void f(char a[]){ ... } 在编译器里都被当作指针来处理, 因为...
在二维数组中,行指针是指向一维
数组的指针
变量.
答:
我们可以看出一维
数组的
地址类型为 (type *),没有下标(行宽、数组长度、元素个数),只有定义数组的时候需要给予下标,或者省略下标时必须初始化{1,2,3,4...},编译器会自动获得下标并分配内存。因此指向一维
数组指针
也不带下标的,这也就是指针灵活也不安全的原因(数组边界检查及宽度控制完全...
C语言中
数组和指针的
问题。
答:
滥用这个概念这只会使所要讨论的问题更容易被混淆。另外,建议LZ系统地复习至少这些基本概念:对象、左值、类型和值,如果看不懂以下内容的话。
数组
是数组,
指针
是指针。a是a,a[0]是a[0]。只不过在作为sizeof、&的操作数等有限几个左值上下文之外的场合数组a会退化(隐式转换,结果的类型是元素的...
C语言可以把
指针和数组
名之间相互赋值吗?
答:
不可以,C/C++中
数组
名虽然形同一个
指针
但是是常值 是不可以进行赋值操作的,同理 也不可以进行++ -- += -= 操作,希望可以帮助到你
指针和数组
是否相等?
答:
1.一般来说*p=&a的表示方法是错的,*p=a和p=&a是正确的。2.*p=a的意思:将a的值赋给p
指针
指向的地址的值;3.p=&a的意思是:将a的地址赋给指针p;4.区别:*p是一个值;p是一个地址;两者完全不相同。5.*代表着p指向的地址的值,简单来说就是取值;&是取地址符号,取的是地址;p是...
新手求教关于c++
数组指针的
问题
答:
是这样,(*pas)[3]表示一个三列的数组,有多少行是任意的;而pas是这个
数组的指针
;(*pas)[3]=&stachs表示这个
指针数组和
stach数组对应了,相当于用pas[0]就等于用stachs,所以pas[0]就是stachs的首地址。比如你打:stachs[1],就相当于打:pas[0][1]。也就说stachs[i]=pas[0][i]...
请问二级指针,二维数组,
数组指针的
区别
答:
二维数组:int arr[4][5]; //定义了一个4行5列的数组
数组指针
:指向
数组的
指针。int arr[4][5];int (*p)[5]; //指针p是指向数组的指针,你可以理解为指针p是二维数组的行指针。p=arr;还有一种就是
指针数组
,即数组元素都是指针变量int *p[5];int **q;q=p; //二级指针q指向了...
指针数组的数组
名表示什么?
答:
指针数组的数组
名就是该指针数组首元素的地址的别名。比如,一个人可以叫王小二,也有叫它小二,或者小王,其实都是指同一个人。指针数组就比如这个例子:int *p[10] 那么p等价于&p[0]因为指针里面存储的是地址(十六进制数),所以&p[0]这里面存放着一个int变量的地址。是不是觉得用地址来存放...
C语言中,
数组和指针
定义在内存方面的区别在哪?
答:
4,定义
指针
变量并不会带来内存分配,要自行分配内存并且将指针变量的内容改写为分配好的地址,通常用内存分配函数如malloc达到;定义数组会隐式分配内存 5,对sizeof操作符的返回值影响,sizeof(指针)永远会返回平台指针大小,通常32位机返回4,64位返回8.而sizeof(数组名),则会返回
数组的
内存大小,这...
棣栭〉
<涓婁竴椤
3
4
5
6
8
7
9
10
11
12
涓嬩竴椤
灏鹃〉
其他人还搜