
正文
c语言的指针数组,c语言指针数组和数组指针
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言指针,指向数组的指针、指向指针数组的指针、指向数组的指针的指...
1、指针数组,指数组元素就是指针 数组指针,对于一维数组来说就是数组名 故对于一维数组来说,数组名是第一个元素的指针,而元素本身也是指针,故数组名是指向指针的指针。
2、数组名并不是一个普通的变量,而是一个指向数组首元素的指针。也就是说,我们可以用数组名来初始化一个对应类型的指针。虽然数组名是指针,但它是一个指针常量。也就是说,不带下标的数组名不能作为左值。
3、char *pi=str; //相当于char *pi ;pi=str;char **ppi=*pi;//这个地方抄错了。应为char **ppi=定义加*表明这是指针类型的变量 用的时候,就是用的指针,加*干什么。
4、指针:指针很灵活,它可以指向任意类型的数据。指针的类型说明了它所指向地址空间的内存。指针:由于指针本身就是一个变量,再加上它所存放的也是变量,所以指针的存储空间不能确定。
5、数组指针定义int(*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。
6、指向指针的指针(**p)就是二级指针,指向指针的指针的指针(***p)是3级指针。多级指针类似于间接寻址。指向函数的指针 C语言中的函数名表示函数的首地址,即函数执行的人口地址。
相关问答
Q1: C语言:简述一下“数组和指针的关系”?
指针:系统为某一个变量开辟单元格,指针便指向此单元格的变量值。数组:系统为某一组数开辟一组单元格,数组首地址便是你定义的数组变量名。数组和指针的唯一区别是,不能改变数组名称指向的地址。
数组是用指针方式实现的,但数组值是一个常量,即不能改变数组的首地址,而指针是一个变量,可以改变它的值;如:数组 a和指针p,p=a+1;是合法的,但a=a+1;是不合法的。
指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。
Q2: C语言指针数组指针怎样理解?
(2)数组指针:它实际上是一个指针,该指针指向一个数组。
数组名并不是一个普通的变量,而是一个指向数组首元素的指针。也就是说,我们可以用数组名来初始化一个对应类型的指针。虽然数组名是指针,但它是一个指针常量。也就是说,不带下标的数组名不能作为左值。
该指针指向的内存区就是数组第0号单元,该指针自己占有单独的内存区,注意它和数组第0号单元占据的内存区是不同的。该指针的值是不能修改的,即类似array++的表达式是错误的。
指针数组:就是存储指针的数组。数组指针:就是指向数组的指针。指针:本质就是一个int型变量,含义:一个内存地址。举例:int *p[10] 指针数组。原因:因为[的优先级比*高,p先和[结合,所以是指针数组。
关于c语言的指针数组和c语言指针数组和数组指针的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






