只是个人学习C语言指针过程中一些关于指针浅显的知识总结,如有错误之处,望请指正
指针就是地址,地址就是指针。是内存单元的编号(16进制的数字)
在32位操作系统下指针大小是4个字节,64位操作系统下它的大小是8字节。这是因为32位系统下由32个01数字组成,8位一个字节,共4个字节,同理在64位系统下大小共8个字节。在相同的操作系统下,不管它是什么类型的指针,它的大小都是一样。这是因为指针变量里存放的是一个地址,是32位或64位的01数字。
运算符sizeof的返回值size_t类型,printf()的%d所能显示的是int类型。上图中的%ld一般是用来显示长整型(long int)所以即使在上图环境中能正常打印出各变量的字节大小,但是会产生警告。sizeof一般用%zd来显示,如下图
%zd是C99标准开始添加的,在C99之前的版本环境中能否作用,本人也不清楚。