社区
C语言
帖子详情
指针和数组指针有什么区别?
tfnadnt
2008-10-23 11:28:29
面试的时候,面试官说数组指针只是一个标号,不占有内存,也不能进行++,--运算。
对吗?
请高人详解
...全文
293
12
打赏
收藏
指针和数组指针有什么区别?
面试的时候,面试官说数组指针只是一个标号,不占有内存,也不能进行++,--运算。 对吗? 请高人详解
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wenjunsu
2008-10-25
打赏
举报
回复
我看面试官说得错误连连啊!
up
chenzhp
2008-10-23
打赏
举报
回复
[Quote=引用 3 楼 hjzwl1018 的回复:]
当数组名作为数组指针时,代表数组的首元素,它是一个指针常量,它的值在程序运行期间是固定不变的;假如int (*a)[5],这也是个数组指针,但是可以进行a++或a--运算,因为a是个指针,它指向包含5个元素的数组。你的意思应该不是说数组指针,应该是说数组名。
[/Quote]
如果就把数组名来当作数组的指针,肯定是不能够进行算术运算的。
菜鸟笔记公众号
2008-10-23
打赏
举报
回复
数组指针 可以 ++ --
帅得不敢出门
2008-10-23
打赏
举报
回复
数组名相当于数组的首元素的地址,常量,所以不可修改
mifeixq
2008-10-23
打赏
举报
回复
不太明白面试官说的……
ex.
mifei@P-I-mi:~/C$ ./a.out
4
abcd,efghmifei@P-I-mi:~/C$ cat test.c
#include <stdio.h>
char (*ptr)[5];
int main(){
char a[2][5]={"abcd","efgh"};
printf("%d\n",sizeof(ptr));
ptr=a;
printf("%s",ptr);
ptr++;
printf(",%s",ptr);
return 0;
}
tianxiaogang12
2008-10-23
打赏
举报
回复
数组指针不占用内存是对的 不能进行++,--运算不一定 不常量就可以++ --
lann64
2008-10-23
打赏
举报
回复
首先“数组指针”就是个不知所云的东西。是把数组名当指针看待,还是一个放置指针的数组?或者是一个指向数组的指针?不知道是说什么。
hjzwl1018
2008-10-23
打赏
举报
回复
当数组名作为数组指针时,代表数组的首元素,它是一个指针常量,它的值在程序运行期间是固定不变的;假如int (*a)[5],这也是个数组指针,但是可以进行a++或a--运算,因为a是个指针,它指向包含5个元素的数组。你的意思应该不是说数组指针,应该是说数组名。
lbh2001
2008-10-23
打赏
举报
回复
数组名只是数组头元素地址的别名,而且是常量性质的,是不占用内存空间的
Soulic
2008-10-23
打赏
举报
回复
如果使用数组名作为数组指针,确实是不能进行++,--运算
hackxq
2008-10-23
打赏
举报
回复
楼主说的数组指针不能++或——可能不是ANIS C约束条件中的“不能”。
当然可以++或--,只不过对于一个指向一维数组的指针而言,对其进行++或--操作,会使其指向未知内存区域。
楼主说的“可能”可能是这个层面的“不能”
至于说不占内存的说法,不知从何而来
Big鹏
2008-10-23
打赏
举报
回复
数组指针只是一个标号,不占有内存,也不能进行++,--运算。
数组指针;是指向数组的指针,是一个指针,其指向的类型是数组;
说其不占内存,那占的4字节是什么??
说不能进行++ --运算,char (*c)[3]; 指针为一变量,为什么不能??
指针
数组
和
数组
指针
的
区别
及其详解
本文详细解读了
指针
数组
和
数组
指针
的
区别
,通过示例代码和运算符优先级讲解,强调了两者在声明和操作上的差异,并揭示了C/C++中类型匹配的重要性。重点在于理解它们的定义、示例和C/C++语法细节。
【C语言】
指针
数组
和
数组
指针
的
区别
本文主要介绍了C语言中
指针
数组
和
数组
指针
的
区别
。
指针
数组
是
指针
类型的
数组
,
数组
元素为
指针
;
数组
指针
是指向整个
数组
的
指针
。文章还阐述了二者的内存布局,以及
数组
指针
和取地址时a和&a的
区别
,帮助读者深入理解这两个概念。
数组
指针
和
指针
数组
的
区别
本文深入解析了
数组
指针
与
指针
数组
的概念及其
区别
,包括定义、内存布局和使用方法。并通过实例演示了如何正确使用这两种
指针
类型。
面试题之
数组
指针
和
指针
数组
的
区别
本文深入探讨了
数组
指针
和
指针
数组
的概念及其使用方法,包括
数组
指针
的基本定义、
数组
名与
指针
变量的
区别
、
指针
作为
数组
的迭代器的应用,以及
指针
数组
的认识和用法举例。
数组
指针
和二级
指针
的
区别
本文探讨了
数组
指针
和二级
指针
的
区别
。
数组
指针
存储的是
数组
的地址,而二级
指针
存储的是变量地址的地址。尽管两者在某些情况下用法相似,但其本质和用途不同。
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章