指针变量的类型及大小
指针变量作为C语言中的特殊数据类型,除了用于存储内存地址之外,它与其他类型比较是否具有其他特点呢?接下来对指针类型进行分析,剖析指针类型的特点。
指针的大小与其指向的内存中存储的变量类型无关,它只与计算机操作系统有关,在32位操作系统中,指针的大小是4字节;64位操作系统中,指针的大小是8个字节。
接下来通过定义不同的指针变量类型,计算不同类型指针变量的大小,如例1所示。
例1 pointer.c
1 #include<stdio.h>
2 int main()
3 {
4 char *i ;
5 int *t;
6 double *c;
7 long *a;
8 long double *s;
9 unsigned int *T;
10 printf("指针变量i的大小是% d\n", sizeof(i));
11 printf("指针变量t的大小是% d\n", sizeof(t));
12 printf("指针变量c的大小是% d\n", sizeof(c));
13 printf("指针变量a的大小是% d\n", sizeof(a));
14 printf("指针变量s的大小是% d\n", sizeof(s));
15 printf("指针变量T的大小是% d\n", sizeof(T));
16 return 0;
17 }
例1的运行结果如图1所示。
图1 例1运行结果
例1通过sizeof运算符计算不同类型指针变量的大小,指针变量的大小是4字节,和指针变量定义类型无关。