c語言中的 int ( p) 5 型別分析

2021-06-22 05:07:46 字數 698 閱讀 5149

#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個位元組,佔位...