指针说明定义指针变量的名字以及它所指向的对象的类型。declarator定义变量的名字,而且也可修饰它的类型。tyre-svecifter给出对象的类型,它可以是基本类型、结构类型或联合类型。
指针变量也可以指向函数、数组和其它指针,至于说明更复杂的指针类型。
指向结构或联合类型的指针可以在该结构或联合类型定义之前说明,只要在说明结构或联合类型时定义是可见的。之所以允许这种说明,是因为在为指针变量分配空间之前编译程序无需知道结构或联合的大小。指针通过使用结构或联合的标志加以说明,见下面的第四个例子。
说明成指针的变量保存的是内存地址,存贮一个地址所需的存贮量以及地址的含义依赖于编译程序的实现,并不能保证指向不同类型的指针的长度都一样。在一些实现中,可以用特殊的关键字near和far限定指针的大小。更详细的参见系统文档资料。
第一个例子定义了名为message的指针,它指向一个char类型的变量。
第二个例子定义了一个名为pointers的指针数组,每个元素是一个指向int类型的变量的指针。
第三个例子定义了一个名为pointer的指针变量,它指向一个有10个元素的数组,数组的每个元素是int类型的。
第四个例子定义了两个指向结构类型list的指针。只要list类型定义和该说明有相同的可见性,该说明就可以出现在结构类型list的定义之前(见第五个例子)。
第五个例子把变量line说明成名为list的结构类型,list结构类型有三个成员,第一个成员是指向char类型值的指针,第二个成员是一个im类型的值,第三个成员是指向另一个list结构的指针。
联系客服