如何使用指標傳遞記憶體
一般使用指向指標的指標,或者用返回型別來傳遞。
指標:位址
指向變數的指標變數:存放變數位址的變數是指標變數,用來指向另乙個變數。為了表示指標變數和它所指向的變數之間的聯絡,在程式中用「*」符號表示「指向」,例如,pointer代表指標變數,而* pointer是pointer所指向的變數。
指標變數的定義: 基型別
*指標變數名
指向陣列的指標變數
陣列名代表陣列的首位址。
指向指標的指標:
指向函式的指標:
1、定義形式: 資料型別 (*指標變數名)();
此處的資料型別指的是函式的返回型別。
2、函式的呼叫可以通過函式名呼叫,也可以通過函式指標呼叫。
3、(*p)()表示定義乙個指向函式的指標變數,它不是固定指向哪乙個函式的,而只是表示定義了這樣乙個型別的變數,它是專門用來存放函式的入口位址的。在程式中把哪乙個函式的位址賦給它,它就指向哪乙個函式。在乙個程式中,乙個指標變數可以先後指向不同的函式。
4、在給函式指標變數賦值的時候,只需給出函式名而不必給出引數。如:p=max;因為是將函式入口位址賦給p,而不牽涉到實參與形參的結合問題。不能寫成「p=max(a,b)」形式。
5、用函式指標變數呼叫函式時,只需將(*p)代替函式名即可,在(*p)之後的括弧中根據需要寫上實參。
6、對指向函式的指標變數,像p+n、p++、p——等運算是無意義的。
const char* 和 char*const的區別:
const的位置不同,作用也不同。 以*前後為區別,const在* 之前,表示指向常量的指標,在*之後表示指標常量。
如:char ch[5]="lisj";
const char*pstr=ch;//或者可以寫成 char const*pstr=ch;
此處為指向常量的指標,指向的物件是常量。指標值可以改變,但是指標指向內容不可改變。
*pstr='w'; //error
pstr="zhangsan";//ok
char ch[5]="lisj";
char*const pstr=ch;
此處為指標常量,指標值不可以修改,指向內容可以修改。
pstr="zhangsan";//error
*pstr='w'; //ok
指標常量必須在定義的同時賦值。指向常量的指標可以先定義完了再賦值。
VC MFC學習筆記 四
如何使用指標傳遞記憶體 一般使用指向指標的指標,或者用返回型別來傳遞。指標 位址 指向變數的指標變數 存放變數位址的變數是指標變數,用來指向另乙個變數。為了表示指標變數和它所指向的變數之間的聯絡,在程式中用 符號表示 指向 例如,pointer代表指標變數,而 pointer是pointer所指向的...
VC MFC學習筆記 六
總在很多地方看到 com的相關的東西,但是一直以來對 com的理解只是侷限於知道它的全稱 component object model 為此,專門讀了一下 com技術內幕 的第一章,力求先對 com有乙個初步的了解,隨著學習的深入,肯定會進一步對 com進行研究。com是什麼?com是乙個說明如何建...
VC MFC學習筆記 一
什麼是mfc?從字面意思上理解,mfc microsoft foundation class library 是微軟的乙個基礎類庫 c mfc中的各種類或者封裝了win32應用程式程式設計介面,或者封裝了應用程式的概念,或者封裝了ole特性,或者封裝了odbc和dao資料訪問的功能,等等。它們結合起...