目錄指標
指標取值
指標是儲存其他變數位址的變數,記憶體位址可以用c ++訪問。
int a = 54;
54 是變數的值,換句話說,它是儲存在稱為 "a" 的變數保留的位置中的值。
現在,讓我們問自己,在**? "a" 的位置可以使用指標找到!
int a = 54;
std::cout<< &a<
執行以下**:
#include int main()
輸出:
a 是乙個 double型別的變數,值為6.65,2。**:std::cin.ignore(); 這**是什麼意思? ignore() 是什麼?b 是乙個指標變數,指向 a 這個 double型別 的資料,
c 是乙個指標變數,指向 b 這個 double * 型別的資料,即指向指標的指標;最後列印 **c 列印出來還是6.65。
答:首先我要知道乙個什麼是緩衝區?緩衝區(buffer),它是記憶體空間的一部分。也就是說,在記憶體空間中預留了一定的儲存空間,這些儲存空間用來緩衝輸入或輸出的資料,這部分預留的空間就叫做緩衝區,顯然緩衝區是具有一定大小的。舉例:cin.sync()這個函式是清空緩衝區,而 cin.ignore() 雖然也是清空緩衝區中資料的作用,但其對緩衝區中的刪除資料控制的較精確。
#include using namespace std;
int main()
注意以上**,輸入乙個字串,然後使用cin.get();再次輸入字串,我們執行**:
發現個問題,程式沒有讓我再輸入字串就直接退出了!!!怎麼會這樣?c++有問題?不是的。修改後的**:我們先來學習一下cin.get(),有乙個特性,cin.get()作為第二次輸入時,接收到 回車 或 空格 或 製表符 就會停止輸入的。
所以,當我輸入乙個字串時候,我輸入 a 然後 回車 '\n',這裡輸入回車('\n')已經被cin.get()接收了,所以退出了。
這個問題怎麼解決? 我還是想輸入兩次字元再退出。cin.ignore()出場了。
#include using namespace std;
int main()
執行結果:
終於可以輸入兩次了,cin.ignore()為什麼會起作用?我們學習一下cin.ignore(100,'\n');cin.ignore(int intexp, char chexp),這裡int intexp表示要忽略的字元長度,這裡char chexp表示要忽略的字串。舉例:
#include#includeint main()
執行結果:
當我們輸入1 2 的時候,輸入回車,它就能夠繼續執行使用者輸入,因為cin.ignore(100,'\n');忽略回車鍵,然後把輸入數字1 後面的100個字元忽略,所以,ival1才等於1。我們注釋cin.ignore();來看看效果:
#include#includeint main()
執行結果:
沒有cin.ignore();就不會讓你輸入第二次了。它就直接把 1 後面 空格的 2賦值給 ival2 。乙個拓展例子,請自行學習:
#include#includeint main ()
{ int * pointeri;
int number;
char character;
char * pointerc;
std::string sentence;
std::string *pointers;
pointeri = &number;
*pointeri = 45;
pointerc = &character;
*pointerc = 'f';
pointers = &sentence;
*pointers = "hey look at me, i know pointers!";
std::cout << "number = "執行結果:
當你還不能寫出自己滿意的程式時,你就不要去睡覺。
指標概念(1)
1.在 語言中,乙個函式總是占用一段連續的記憶體區,而函式名就是該函式所佔記憶體區的首位址。把函式的這個首位址 或稱入口位址 賦予乙個指標變數,使該指標變數指向該函式。然後通過指標變數就可以找到並呼叫這個函式。我們把這種指向函式的指標變數稱為 函式指標變數 函式指標變數定義的一般形式為 型別說明符 ...
c 指標的概念
最簡單乙個概念就是引用,相當於給這個變數起了另乙個名字 eg a b 以後使用ab都可以修改這個變數。可以用於函式傳遞引數 hello string pointa astring 最重要的一點,就是宣告指標的時候 reference string pointa astring string poin...
C語言指標函式和函式指標詳細介紹
原文在此 指標與函式 另外,附上一段 learn c the hard way 18章節的 include include include include our old friend die from ex17.void die const char message else exit 1 a t...