- 問題1:
在C#中,我們知道基本類型比如int,
我們定義了如下變量:
int i=3;
字面量3直接保存在stack上,那變量名i存儲在哪?
猜想:
與內存結構有關。
- 問題2:
int a[10]={0};
printf("%d",sizeof(a));
變量的大小、類型是否有一張表存儲?
猜想:
在編譯期間根據類型決定大小。
- 問題3:
int a[10]={0};
printf("a=%p",a);
printf("&a=%p",&a);
//------------------------
printf("(a+1)=%p",(a+1));
printf("(&a+1)=%p",(&a+1));
a與&a結果相同,而(a+1)與(&a+1)結果不同。
- 問題4:
//c語言中,將數組作為參數傳入某方法中,在該方法中是無法知道該數組的長度。必須將數組的長度也作為參數傳入方法。
//但在C#語言中,將數組傳入某方法,可以在該方法中訪問到該數組的所有信息。
問:
為何C#中能訪問到數組的長度等信息?作為一個類封裝?傳入到方法中的是什么?
猜想:
c語音中傳入的數組的首地址,即a[0]的內存地址。
而C#中傳入的引用?