老师讲的时候说是占有2个字节,后来我在VC上做了实验,不是2个字节,老师讲可能与电脑本身有关,它可能占电脑的一个字,现在电脑一般都是32位的,也许以前电脑是16位的所以占2个字节
C语言规定一个指针占4个字节。
查看指针所占字节数可以用sizeof( )函数进行测试。如:
char a[] = "abcdefgh";指针占用多少字节,取决于所使用的编译器版本,编译器有16位、32位、64位之分,16位和32位编译器可以运行在32位操作系统上,而64位操作系统可以运行这三种编译器。
16位编译器下,一个指针占用2字节;32位编译器下,一个指针占用4字节;64位下,一个指针占用8字节。
当前(2019年1月)国内大部分电脑已经使用上了64位Windows操作系统,但Visual Studio等编程软件默认使用的编译器是32位编译器,因此最常见的情况是一个指针占用 4 个Byte。
苹果的macOS系统自带clang编译器,默认是64位,因此通常在苹果电脑上编写c语言程序时,指针占用8个字节。