指针与数组的区别
1.为什么要引出指针
因为从空间的分配上,由于数组是静态分配
利用率低,指针是动态分配,空间利用率高。
因为c语言的特点,能直接访问硬件
正是由于指针能够访问地址,才产生的
指针是个变量,数组名是个常量,所以指针的
使用比较灵活。
而且函数的形参也都是指针。因为实参传的是地址
从安全性上,指针会造成内存泄漏,数组只会产生
越界。
从访问效率上,指针是间接的,数组是直接的,所以
数组的访问效率较高。
1.为什么要引出指针
因为从空间的分配上,由于数组是静态分配
利用率低,指针是动态分配,空间利用率高。
因为c语言的特点,能直接访问硬件
正是由于指针能够访问地址,才产生的
指针是个变量,数组名是个常量,所以指针的
使用比较灵活。
而且函数的形参也都是指针。因为实参传的是地址
从安全性上,指针会造成内存泄漏,数组只会产生
越界。
从访问效率上,指针是间接的,数组是直接的,所以
数组的访问效率较高。
函数的实现过程:
函数名是常量存放函数的入口地址
1.通过函数名找到函数的入口地址
2.给形参分配空间
3.传值
4.返回,释放空间
当只使用不修改时,实参变量对应空间的值传函数名
当即使用有修改时,实参变量对应空间的值,传函数名对应空间的地址