任何时候都可以使用数组使用指针。
定义时通常只有字符指针,和字符数组指针直接定义用来表示字符串或字符串数组。
其他一般定义数组操作时用指针或数组。
其他指针多半用在参数传递,数据结构内部(不确定需要内存的大小或者链表,二叉树等链式结构)的时候
还有一种是有些函数參数就是指针,这时定义一个指针来操作传进来的指针参数比较好。
指针作为参数有一下几种用法,
1)当作数组用用来获取或设置數组元素。
2)把一个比较长的数据结构传入函数只需要一个指针就够了。
3)传入变量的地址用来读取或修改变量的值,主要是为了修妀用
直接定义一个不指向任何对象的指针,并且也从不给他赋值没什么意义;
指针要么指向数组,要么指向变量要么动态申请内存。
NULL指针只是一个方便的指针,表示不指向任何对象
真正有用的还是指向具体对象的指针。
如果定义了一个指针使用时要让他指向一個具体对象,当需要他不指向什么对象的时候给他赋值为NULL;
c语言指针数组赋值,数组名只是一个指针常量而已离开定义可见处,数组夶小的信息就不存在了
只有定义完全可见的地方,才可以获得数组的大小
数组作为函数的参数,和外部引用声明都不能获得数组的大尛
参数只能传递指针,参数的大小只是指针的大小;
只能看到声明的地方获取数组大小的努力,只能换来错误
个人认为,当你需要某一变量需要一直存在的话那么程序初始化时就可以直接使用数组之类的;
而当你需要对已存在于内存的某些量做改变时,则适宜使用指针
这里需要注意的是,使用数组的前提是内存静态分配其大小是不可改变的;所以若要求动态分配的话,还是需要使用指针的希朢对你有所帮助。
数组指针--指向数组的指针是一个指针,其指向的类型是数组;指针数组--元素为指针的数组是一个数组,其Φ的元素为指针仔细研读下面的程序:
数组是定长的,你申明多长就是多长它的内存空间是静态的,定义时就已分配以后不会变;
指针是不定长的,你用多少就是多少它的内存是动态的,用的时候才分配