#include
int main()
;int (*a)[5] = &b;
int *m = a; //a範圍內的空間按照 int大小來取值
for(i = 0;i<5;i++)
return 0;}
輸出結果為 1 2 3 4 5
其中int (*a)[5] 表示在棧中產生乙個大小為 5個int的空間 a代表的的是整個空間的首位址
int *m = a;定義的是它的取值偏移量,也就是說乙個整形指標*m 首位址為開闢的a的空間的首位址
為更好分析下面的程式就能讓你更能懂了:
#include
int main()
;int (*a)[5] = &b;
short *m = a; //a範圍內的空間按照 int大小來取值
for(i = 0;i<5;i++)
return 0;
}輸出結果為 :1 2 3 4 5
由(*a)[5]產生乙個空間大小為5個int的空間,空間的首位址和陣列的首位址相同,只是乙個空間而已沒有定義其取值方式,由short *m = a;表示取其空間大小為short的型別,這個型別和int
(*a)[5]沒有關係,int (*a)[5]值負責產生空間,沒有型別,有點類似於malloc 函式。
仔細推敲有助於深入理解。
c語言中的int( p) 5 型別分析
include int main int a 5 b int m a a範圍內的空間按照 int大小來取值 for i 0 i 5 i return 0 輸出結果為 1 2 3 4 5 其中 int a 5 表示在棧中產生乙個大小為 5個int的空間 a代表的的是整個空間的首位址 int m a 定...
C 筆記5型別轉換
以下 的開頭 include using namespace std c 型別轉換 原始型別轉換,所有情況都是一種寫法,可讀性不高,有可能有潛在的風險 void func int type case 2 default void func2 char c p void main void func ...
C語言 01 型別總結
c語言的資料型別分為基本資料型別 構造型別 指標型別 列舉型別和空型別等幾種。一 基本資料型別 1.1 整型int 1 short int short 佔2個位元組,佔位符 d i 2 long int long 佔8個位元組,佔位符 ld 3 signed int signed 佔4個位元組,佔位...