本文主要介绍在C/C++语言中的指针类型的大小。
为了便于讲解,这里先看一个示例程序,代码(pointer_sizeof.c)如下:
#include
int main()
{
// 定义指向char类型的指针s
char* s = "hello world.";
// 定义指向int类型的指针a
int x = 11;
int* a = &x;
// 打印指针s所指向的字符串内容
printf("s is: %s\n", s);
printf("s + 1 is: %s\n", s + 1);
// 打印指向char类型的指针类型(s)的大小
printf("sizeof(s) is: %d\n", sizeof(s));
// 打印指向int类型的指针类型(a)的大小
printf("sizeof(a) is: %d\n", sizeof(a));
// 打印指针s以及s+1中保存的地址信息
printf("address of s is: %p\n", s);
printf("address of s + 1 is: %p\n", s + 1);
// 打印指针a以及a+1中保存的地址信息
printf("address of a is: %p\n", a);
printf("address of a + 1 is: %p\n", a + 1);
return 0;
}
编译并执行上述代码,结果如下:
从上述执行结果能够知道: