回复 楼主 LCDW
指针不难理解,但指针的灵活运用是比较难的,其次就是c优先级规则有些拗口,这会导致有些写的很牛的指针相关代码难以看懂。其实很多其他语言已经完全抛弃指针,通过安全的专用函数一样可以随意操作内存了。
如果你能理解普通变量编译后对应内存里的一个明确存储空间、不同类型占用空间大小不同的话,你就应该可以理解指针变量也像普通变量一样,也对应内存里一个明确的存储空间,不同的地方有三点:1是指针变量占用的空间大小固定,等于你cpu地址线所占用的字节数,如16位系统2字节、32位系统4字节、64位系统8字节(据说已经有128位的cpu问世了);2是指针变量可以通过*运算符获取指针变量值所指向的地址空间处的值,即可把普通变量的地址赋给指针变量;3是普通数值类型的变量或常数可以作为指针的偏移量使指针指向不同内存地址,这就是指针的精髓之所在。