在64位系统中,int *变量 占64位,而int 变量占32位,我想问的是计算机寻址是按64位来的,int变量占32位,内部是怎么做到的,还是说实际还是会浪费掉另外32位空间~~
c 指针
就x86-64系统来说,cpu是可以按照字节寻址的。 int *在64位系统上是64-bit是由于x86-64的cpu的虚拟内存寻址空间是64位,这样一个指针也需要是64位才可以容纳下一个虚拟内存的地址。int 是数据类型,表明这个数据占用32个bits的内存空间,如果你想要访问某个在内存中的int数据类型,需要一个64 bits的指向这个数据所在虚拟内存地址,这样cpu才知道去哪里访问这个数据。
C 语言里为什么这样初始化字符串是错误的?
C 语言字符串用数组和指针初始化为什么会有这样的区别?
关于C语言指针的问题
请教一个c语言指针的题目
C函数内对指针的修改如何更新到函数外
C 语言中指针作为函数参数的一个问题?