sizeof&指針

// sizeof.cpp : Defines the entry point for the console application.
//

#include "StdAfx.h"
#include "iostream.h"
int main(int argc, char* argv[])
{

// int **a[3][4];
// cout<<sizeof(a);
// return 0;
 //這個結果是4*3*4
 ////////////////////////////
//int i;
//i = sizeof("sizeof(int **a[3][4])");
//cout<<sizeof(i);
//return 0;
//這個結果是4
 ////////////////////////////
/* int i;
 i = sizeof("int **a[3][4]");
 cout<<sizeof(i)<<endl;
 return 0;
 //這個程序的結果也是4
*/
 /////////////////////////////
/* int i;
 i = sizeof("int  **a[3][4]");
    cout<<i<<endl;
 return 0;
 //這個程序的結果是15
*/
 /*    int i;
  i = sizeof("int **a[3][4]");
  cout<<i<<endl;
  return 0;
  //這個程序的結果是14
*/
/* int **a[5][4];
 cout<<sizeof(a)<<endl;
 return 0;*/
 ////////////////////
 int ****a[3][4];
 cout<<sizeof(a)<<endl;   //end(null)???
 return 0;
 //sizeof(a)爲48  sizeof(*a)爲16  sizeof(**a)爲4  ***a 爲4

}

指針爲四個字節,無論加多少個都是48,sizeof(*a)的值爲何是16?

3*4+指針的四個字節嗎???

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章