指针与指向指针的指针

来源:百度知道 编辑:UC知道 时间:2024/06/19 16:26:27
在程序中申请一个指针变量,要为这个指针变量分配几个内存单元,我认为应该是1个,就是指针本身,如果这是正确的话,那么指向指针的指针是不是应该占两个内存单元呢,指针本身是一个,还要有一个指向另一个地址的单元,这个地址也是用一个单元去存储的呢,我对这个地方不是很了解,可能我理解的有很大错误,请高手指点,谢谢!!!
指向指针的指针的内容是什么呢,指针的内容是另一个变量或常量的地址,那么指向指针的指针的内容是什么呢

首先你要明白内存单元的计量所谓的1是指什么,一般来说所谓的1都是指的一字节,你可以sizeof(int *),sizeof(char *)等等看看,一般都是4。也就是说一般的指针都占有4个存储单元。指针其实记录的是一个地址,以便让你的程序找到这个地址进行操作。而现在很多的机器都是32位(所谓32位是指地址为32位)的,所以指针一般都是占有4个字节。但这个也不全面,因为有的机器是64位的,所以你sizeof(int *)得到指针占有存储单元应该是8。
也就是说指针记录的是一块地址,而地址的长度是依赖于机器的。一般为4个字节,有时为8个字节(貌似现在没有16位机了吧)。

补充:所有指针都是指向的一块地址,不管你是指向int、char还是别的,或者你是指向指针的指针。

楼上说的很明白了
所有指针存储的都是它指向变量的地址