C 之父力作學習筆記3 指標

2021-12-29 22:25:30 字數 1262 閱讀 1359

由於工作需要轉成了c#,好久沒有學c++了,之前學了一段時間的c++,也寫過兩篇,放在部落格園裡的,現在有專門的c++部落格,以後就在這裡寫了。以下是前兩篇的位址

c++之父力作學習筆記1    c++之父力作學習筆記

今天來簡單說一下指標,可以說指標是乙個難點,是一把雙刃劍,也許高手才能運用自如,像我這樣的菜鳥就會傷到自己。呵呵,廢話少說。

指標:對型別t,t*是「到t的指標」,也就是說,乙個型別為t*的變數能儲存乙個型別t的物件的位址。例如: char c='a';

char *p=&c;//p儲存著c的位址

用圖表示是:

這些都挺容易理解的,不幸的是,到陣列的指標和到函式的指標需要更複雜的記法: int* pi;          //到int的指標

char** ppc;       //到字元的指標的指標

int* ap[10];      //10個到int的指標的陣列

int (*fp)(char*); //到函式的指標,這種函式以char*為引數,返回int

int* f(char*);    //有乙個char*引數的函式,返回乙個到ini的指標

對指標的基本操作是間接引用,也就是說引用被指標所指的那個物件。這一操作也被稱作間接(indirectionn)。間接運算子是(字首的)一元*。例如 char c='a';

char* p=&c;   //p儲存著c的位址

char c2=*p;   //c2=='a'被p所指的變數是c,而c中所存的值是'a'。所以由*p賦給c2的值就是'a'.

注意:這裡解釋一下 間接運算子是(字首的)一元*。這就要扯到宣告的結構了。

乙個宣告由四個部分組成:乙個可選的「描述符」,乙個基礎型別,乙個宣告符,還有乙個可選的初始式。除了函式和名字空間之外,其他宣告都應該由分號結束。例如: char* kings=;這裡的基礎型別是char,宣告符是*kings,而初始化是=。

描述符是乙個開始關鍵字,例如:virtual和extern,它們說明了被宣告事物的某些非型別的屬性。

宣告符由乙個名字和可選的若干宣告運算子組成。最常用的宣告運算子是

*             指標          字首

*const     常量指標     字首

&            引用           字首

陣列          字尾

()            函式          字尾

C 學習筆記4 指標

1.什麼是指標?指標是乙個變數,其值為另乙個變數的位址,即,記憶體位置的直接位址。在使用指標儲存其他變數位址之前,對其進行宣告。指標變數宣告的一般形式為 type var name type 是指標的基型別,它必須是乙個有效的 c 資料型別,var name 是指標變數的名稱。星號是用來指定乙個變數...

C語言(九) 指標(3)指標與const

表示一旦得到了某個變數的位址,不能再指向其他變數 int i 0 int const q i q是 const q 20 ok q error表示不能通過指標去修改這個變數 int i 0 int j const int p i const int p 等同於 int const p p 20 er...

C 學習筆記 四 指標 4

類成員指標 本文主要討論 c 中類成員的指標,這部分內容少有使用,也比較難於理解。如果文中有錯誤或遺漏之處,敬請指出,謝謝!需要使用類成員指標的情況是比較少見的,所以一般沒人使用這個語言特性。下面先介紹類成員指標的使用方法,再介紹它的可能應用場合。有時,我們需要在類外的其它地方直接獲得類成員,這時我...