紅客編程首學技術精髓——掌握高級《指針》

一、掌握高級指針

1、int iNumber; // 聲明一個整型變量

2、int *iPnumber; // 聲明一個指向整型的指針

3、int Func(); // 聲明一個函數,返回值是整型

4、int *Func();

// 首先執行函數調用操作符,所以Func是一個函數,返回值類型是一個指向整型的指針

5、int (*Func)();

// 第一個括號意味著Func是一個指針,第二個括號是函數調用,第一個括號迫使間接訪問在函數調用之前執行,所以Func是一個函數指針,它所指向的函數返回值是整型

6、int *(*Func)();

// 和上面第五個差不多,但Func所指向的函數返回值是又是一個指向整型的指針,對這個返回值進行間接訪問才會得到一個整型值

7、int iArr[]; // 聲明iArr是一個整型數組

8、int *iArr[];

// 下標優先級高,所以iArr依然是一個數組,但數組裡面的元素類型是指向整型的指針,即指針數組

9、int Func()[]; // Func是一個函數,返回值是個整型數組

10、int (*Func[])()

// 第一個括號內表示Func是一個某類型的指針數組,第二個括號為函數調用,所以Func所表示的指針數組其元素是函數指針,這些函數指針所指向的函數的返回值類型是整型

A、指向函數指針數組的指針

顧名思義,有一個指針指向了一個函數指針數組,那麼對這個指針進行間接訪問,將會得到一個函數指針數組

int (*Func)();

int (*(*Func)[])();

類似上面:

int *Func[];

int *FFunc;

FFunc=&(*Func);

二、系統開發工程實戰

紅客編程首學技術精髓——掌握高級《指針》

紅客編程首學技術精髓——掌握高級《指針》

加群466572167,群內有視頻資料可以學習,提升自己的能力

紅客編程首學技術精髓——掌握高級《指針》

紅客編程首學技術精髓——掌握高級《指針》

加群466572167,群內有視頻資料可以學習,提升自己的能力

紅客編程首學技術精髓——掌握高級《指針》

紅客編程首學技術精髓——掌握高級《指針》

三、C/C++內存管理

malloc/free分別用於動態內存分配和釋放。

malloc會從內存池裡提取一塊適合的內存(連續的),並返回指向這塊內存起始位置的指針,該指針的類型為void*指針(因為malloc不知道你請求的內存需要存儲的是什麼數據類型),而且這塊內存並沒有初始化。

new/delete

紅客編程首學技術精髓——掌握高級《指針》

學習C語言入手很容易,但是堅持下去就是另一回事了,努力很簡單,但是堅持和努力很困難,可以加下我的群466572167,群內有初級的項目,入門的資料也有全套的,也能一起交流學習提升自己的能力,對於有基礎的話,群內也有各種項目可以練練手,


分享到:


相關文章: