请从以下链接中的帖子学习相关内容并进行回答,其他地方得到的答案不能作为标准答案,仅能做为补充说明,七天之内答案不可见,答题的童鞋有七天时间修改答案,每周结贴一次,选择最佳答案。获得最佳答案的童鞋将会获得相应的专家积分,专家积分排行榜有丰厚的奖励哦!每周机会有限,请认真回答!
由于一般指针所指对象的存储器空间位置只有在运行期间才能确定,编译器在编译时无法优化存储方式,必须生产一般代码以保证能对任意空间中的对象进行存取,因此,一般指针所产生的代码运行速度较慢,如果希望加快运行速度则应采用基于存储器的指针。
基于存储器的指针长度比一般指针短,可以节省存储器空间,而且运行速度快,但它所指对象具有确定的存储器空间,缺乏灵活性。
一般指针与基于存储器的指针可以相互转换。在某些函数调用中进行参数传递时需要采用一般指针。
需要注意的是,如果采用基于存储器的指针作为自定义函数的参数,而程序中又没有给出该函数的原型,则基于存储器的指针就自动转换为一般指针,假如在调用该函数时的确需要采用基于存储器的指针(其长度较短)作为传递参数,那么指针的自动转换就可能导致错误。