C 指標 指標的詳細概念和使用 1

2021-09-02 13:49:24 字數 2810 閱讀 4166

目錄指標

指標取值

指標是儲存其他變數位址的變數,記憶體位址可以用c ++訪問。

int a = 54;
54 是變數的值,換句話說,它是儲存在稱為 "a" 的變數保留的位置中的值。

現在,讓我們問自己,在**? "a" 的位置可以使用指標找到!

int a = 54;

std::cout<< &a<

執行以下**:

#include int main()

輸出:

a 是乙個 double型別的變數,值為6.65,

b 是乙個指標變數,指向 a 這個 double型別 的資料,

c 是乙個指標變數,指向 b 這個 double * 型別的資料,即指向指標的指標;最後列印 **c 列印出來還是6.65。

2。**:std::cin.ignore();  這**是什麼意思? ignore() 是什麼?

答:首先我要知道乙個什麼是緩衝區?緩衝區(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...