计算机二级C语言章节知识点:8.2指针变量的定义和指针变量的基类型

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年7月31日

第8章 地址和指针 8.2 指针变量的定义和指针变量的基类型

讨论本章

  • 知识点:
  • 指针变量的定义和指针变量的基类型

指针变量的定义和指针变量的基类型


    定义指针变量的一般形式如下:   
    类型名  *指针变量名1,*指针变量名2,……;例如:
    int  * pi,  * Pj;
    以上定义语句中,pi和Pj都是用户标识符,在每个变量前的星号*是一个说明符,用来说明该变量是指针变量。注意:变量前的星号不可省略,若省略了星号说明符,就变成了把pi和Pj定义为整型变量。int是类型名,在这里,说明了pi和Pj是两个指向整型(int类型)变量的指针,也就是说变量pi和pj中只能存放int类型变量的地址,这时我们称int是指针变量pi和Pj的基类型。又如:
    double    *pd;
    char    *sl.*s2:
    在这里定义了三个指针变量pd、sl、s2,其中pd的基类型为double类型,在指针变量pd中,只能  存放double类型变量的地址;sl和s2的基类型为char类型,在sl和s2中只能存放char类型变量的地址。
    以下定义的P为一个指向指针的指针变量:
    int  **P,*s,k=20;
    S=&k;P=&s;
    在这里,指针变量P的基类型是基类型为int类型的指针类型。以上赋值语句中“&”是求地址运算符,s=&k用来求出整型变量k的地址赋给指针变量s,而使s指向k;p=&s用来求出指针变量S的地址赋给指针变量P,它使P指向s。 
    为什么指针变量要有“基类型”呢?如8.1节中所述,一个指针变量中存放的是一个存储单元的地址值。


相关文章