今天又学习了一天的指针 说下我的理解.
从int a = 5 ;开始说
首先这个int a会开辟内存空间 存入5 这个内容
又会产生一个地址的数 这个数的别名 就是a
然后定义指针 int *p = &a 那这么也好理解了
这个p 开创了一个新空间 别名p 里面放得是a的地址数
然后就是一个很重要的概念;
字符串指针与字符串的异同
首先 ,数组和字符串指针都可以用 直接赋值的形式来初始化,不同的是
字符串指针用直接赋值的形式初始化后不能改变,而数组直接赋值初始化后是可以改变的
原因是,任何字符都是个常量,当它直接赋值给字符串指针时,这个指针存得就是这个常量的地址,
而常量是不可修改的. 数组呢,数组存得是这个字符串的copy 这里面的内容是可以修改的
我觉得学好指针的重要就是理解内存
然后就是指针的使用了,在C里面没有返回数组的这个return 所以我们想操作数组的时候
只需要传入数组指针就可以对数组进行操作,同样的,当需要多个返回值时,在java中我的做法
经常是返回一个list 再解析,而在C中就没这么麻烦了,直接传入几个指针,直接对这些指针指向的
变量进行操作.
关于指针的使用只要理解了 就不是很难,还是一个代码量的问题