学习编程开发的一个非常重要的概念是:一定要理解任何变量、函数原则上都是一块块大小各异的内存,而类型则是我们和系统对这块内存含义的约定。
拓展:
很多初学者对变量的定义理解模糊,比如 int a; 这个语句的唯一正确的理解应该是:申请一块名叫a的内容,而且跟系统约定,以后这块内存不管放什么,一律按照int数据类型的存储格式和计算逻辑对待。
照这样的逻辑,我们就能理解什么叫类型转换了,比如:(unsigned long *)0x0800C400; 这条语句的唯一正确理解应该是:暂时将0x0800C400这个数据当做unsigned long型指针来对待。
注意,数据类型的本质就是一种约定。