9.1 指针的基本概念详解

9.1.1 前提知识

在C语言中有很多类型的变量,如全局变量、局部变量,此外,还有局部的static变量等,这些变量虽然可以笼统地说,它们都是存储在内存中,但是内存也分很多区域,光前面章节讲过的就至少有“静态存储区”和“动态存储区”,不同类型的变量会保存在不同的存储区里,这是一个问题。

第二个问题就是这些不同种类变量的内存分配时机问题。如果真要详细了解,内容会很烦琐,甚至要详细查阅资料,所以这里只提重要的两点内容:

· 有些变量的内存在程序编译时分配,有些变量的内存在程序执行时分配。

· 不管怎样说,变量是会占用一块内存空间的。每一个变量都有一个类型,如讲过的整型、实型、字符型等,这些类型都占用一定的内存字节(内存空间),占用的字节数可以用sizeof(类型名)来得到。人们所共知的,在x86平台下,如int类型占4字节,char类型占1字节,float类型占4字节,double类型占8字节等。