編譯器visual studio
如下代碼:
int **ip;
ip = (int **)malloc( sizeof(int*) *2);
for(int i = 0;i < 2 ; ++i)
{
ip[i] = (int *)malloc(sizeof(int) * 3);
}
//測試sizeof(ip)/sizeof( int *)值為1,
//sizeof(p)值為4,
//測試sizeof(ip[0])/sizeof( int)值也為1,
在看如下代碼:
int ia[2][3];
//測試sizeof(ia)/sizeof( int *)值為2,
//sizeof(p)值為24,
//
//測試sizeof(ia[0])/sizeof( int)值也為3,
sizeof計算的是變量所占的內存的大小,在32位iede操作系統下面,所有的指針類型的大小又是4 ,int類型的數據大小為4 字節,懂了吧,只要是指針全是4 ,其他的數據類型看具體的情況,數組大小 為數組的類型大小*數組的長度