求C语言指针的学习方法,
在学习指针的时候无线困惑,刚开始还懂点,但是随着学习的深入,什么函数指针,对象指针,不知不觉头脑全乱了,现在看见指针就头疼,看见指针的星号就有点胆怯了,越来越觉得指针不好学了。
但是又必须要学,求以前有这些困惑的人分享你们的学习心得,指导下我怎么才能进一步学习指针,更加高效的学习指针,求人品啊。。。 指针 指针学习方法
[解决办法]
代码和数据都有可能占用内存,因此都可能会有地址,指针是一种储存地址的数据。
变量是数据的一种,数据有常量,和变量两种。
常量,有些编译后,不需要单独的存储空间,于是就不给它安排内存(不拥有地址)。
有些需要单独的存储空间,就把它当作变量对待,给它安排内存(拥有地址)。
有些必须存储的常量,有些时候,编译器会安排到常量区,这些常量,就成为不可改写的常量(修改它会产生异常,这是运行时错误)。
而变量,只要不被优化掉,一般给它安排内存(拥有地址)。
指针就是记录代码(通常是函数),或者数据(通常是变量),的地址的数据,包括指针常量和指针变量。
比如 0xa0000000 是是图形格式,直接写屏地址。
0xb0000000 是字符格式,接写屏地址。
这两个都是指针常量。
至于各种指针的定义,先看数据或者函数类型,再看 * 的位置。