C中数组和指针到底是否相同?
发布网友
发布时间:2022-06-28 09:57
我来回答
共1个回答
热心网友
时间:2023-10-09 05:12
初学C,往往会听到一种说法,就是"数组和指针是一样的"
这是一种非常危险的说法,并不完全正确
要完全说清楚这个问题,可能篇幅还不够
我说一下两者最大的区别
从char
a[5]取a[2]和char
*b
取b[2]来讲
两者取出的都收hello中的第三个字符l
但是a[2]是直接用a中保存的地址+2得到的地址,取内容得到的
b[2]是对b的地址取内容,以内容作为地址,然后+2,然后再取内容得到的
两者获取的途径不一样
两者在某些环境下又是可以等同的,这里不细说
如果想彻底了解这个问题,建议买几本书看
比如<c陷阱与缺陷>,<c专家编程>等,里面都花了很大篇幅来介绍指针
指针是c语言最精华,最重要的部分
望早日克服这个难点也是重点