指標學習:
首先指標是c++語言的靈魂,它的作用是改變記憶體中相應位址的變數數值,最大記憶體數在記憶體中表示為fffffffe,這個是16進製制下最大數的表現,字元的話相當於2的32次方吧。
如何定義乙個指標呢?
int* pa=nullptr;一般用這種表示式來定義指標,指標的變數開頭一般為p,也就是pointer的簡寫形式,而空指標一般使用null來定義,區分於整數型的0,表示乙個空的指標。
pa=&a;表示為取變數a在記憶體中的位址符,表示為變數。通過指標可以快速的找到賦值變數在記憶體中的位置,並對其進行操作。
無論用何種變數來定義指標,指標在記憶體中均占用4位元組。另外*的含義是間接引用,只能作用於位址。
然後,當指標指向的是乙個陣列時,指標的用法與陣列相同。例如
int arr[8]=;
int* pa=null;
pa=arr;
pa[3]=300;//通過監視視窗可以發現,陣列中的第三個元素被變成了300。
當然,也可以同時定義多個指標指向同一位址。在多重定義的情況下,位址的變數以最後定義的指標值為準。
例如:int a[3]=;
int* pa=null;
int* pb=null;
pa=a[3];
pb=a[3];
pa[1]=5;
pb[1]=10;//通過監視可以發現,陣列中a[1]的值變成了10。
最後介紹下指標的運算:
指標可以進行加減的運算,但不可以進行乘除的運算。
例如:int a=;
int* pa=a;
pa+=1;//這樣表示指標向後跨越了乙個元素。即:*pa=&a[1]。
可以看出,指標一開始指定的是a[0]的位址符,通過加法運算,移動到a[1]的位址符了。
兩指標之間相互運算時,不可以相加,但可以相減,通過相減的辦法,可以算出,兩指標直接有多少個元素。
例如:int a=;
int* pa=a;
int* pb=&a[5];
pb-pa;//通過監視視窗發現,這個值等於5,表示pb與pa之間相隔了5個元素。
我們數一下發現這5個元素應該是a[0],a[1],a[2],a[3],a[4]。那麼,我們如何輸出這5個元素呢?
當然需要我們的for迴圈來解決了。(while也可以,但是感覺for比較方便解釋)
例:for(pa=&a[0];*pa!=a[5];*pa++)
首先定義一下指標pa在a[0]處的位址符,然後設定條件pa的值(*pa)不等於a[5],最後設定迴圈辦法為*pa++,指標的值遞增。
這樣可以迴圈出a[0]到a[4]的值,當然,如果願意的話,可以從a[1]~a[3]之間各個位址開始輸出,分別得到不同的pa值而已。但是記住,指標之間做減法時,一定要用靠後的位址減去考前的位址,這樣才能得出乙個正確的結果。
易語言學習第十三課
知識點 1.刪首空 刪除首部的空格,返回文字型 2.刪尾空 刪除尾部的空格,返回文字型 2.刪全部空 刪除文字中的所有空格,返回文字型 4.取空白文字 返回指定數目空格組成的文字 5.文字替換 四個引數,第乙個為操作的文字 6.子文字替換 在給定文字中指定子文字,將子文字替換為其他文字 版本 2 程...
第十三課 彙編基礎學習 十三
請注意 該動畫內如含廣告與本站無任何關係,為作者個人宣傳,網路交易風險自負 and指令 且 and 邏輯與指令,按位進行與運算。必須兩個運算元都為1,那麼返回為1。有乙個為0,則返回為0 示例 mov al,00001000b and al,11110111b 執行後al 0 00001000b 8...
第十三課 模組
第十三課 模組 在python中,乙個py檔案就是乙個模組,檔名為 py模組名則是 匯入模組可以引用模組中已經寫好的功能。1.import語句 檔名 foo.py x 1def get print x def change global x x 0要想在另外乙個py檔案中引用foo.py中的功能,需...