您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
C语言中,指针和数组名有什么关系吗?
指针,地址,变量名C语言中,指针和数组名有什么关系吗?
发布时间:2020-12-06加入收藏来源:互联网点击:
C语言中,指针和数组名有什么关系吗?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
你在提问的时候其实已经无意中说出了一点区别,在表示地址方面,两者没有任何区别,但指针可以任意移动,数组名却不行,这是因为数组名是一个具名变量,变量名本身是不可改变的,因此你无论什么时候用它,它都指向一个固定地址,指针变量获取地址的过程其实是一个匿名引用的过程,它得到的是地址而不是变量名,既然不知道是变量名,那么就可以随意改变。
回答于 2019-09-11 08:43:50
指针 指向某个位置(地址)的变量。数组 一串数据的队列。 指针 指向队列的第一个家伙(数组首地址) 想要找到第N个家伙 就将指针地址加N (地址偏移量)。 在繁琐的数据交换操作时,这种指脑袋喊屁股的方法 效率会很高!
回答于 2019-09-11 08:43:50
数组名并不完全等于常量指针,通常变量名在编译时转译为逻辑地址(偏移地址)从而在加载时直接确定物理地址;而指针的作用是在执行时有一个地址提领的环节,也就是把指针变量的值加到地址加法器的过程;所以在执行时指针操作比变量名操作多一个环节导致性能差点,而数组名是在编译时也是作为一个进程栈的偏移地址,有变量名的意义,而其元素地址获得需要在数组名偏移地址基础上进行加减(编译时),因此也具有临时指针的作用,所以准确的说数组名应该叫做编译时的指针
上一篇:哪些流程图模板可以在线使用?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |