C 使用指標的一些情境

2021-08-09 04:11:19 字數 842 閱讀 8125

關於指標的基本概念網路上有很多,這裡列的是一些細節,加深理解。為正在學習c/c++的人提供。

一、指標概念的核心:

指標 儲存的是另乙個物件的位址

string s("hello world");

string *p = &s;

指標 p 指向的是 string 型別的物件 s,即指標 p 儲存 s 的位址(瞎寫:0xssss)。

*p 獲取指標 p 指向的物件,即*p 等於 s 的內容(hello world)。

二、幾種情境:

1、二級指標

string s("hello world");

string *p = &s;

string **p2 = &p;

第三行可拆分為:

string **p2;

p2 = &p;

p2 == p 的位址(瞎寫:0xpppp);

*p2 == p 的內容 == s 的位址(0xssss);

**p2 == *p 的內容 == s 的內容(hello world)。

2、雙向煉表裡的指標:

struct listnode
鍊錶的乙個節點包括:資料和指向下乙個節點的指標。

*prev 是 listnode 型別的指標,存放的內容是前乙個節點的位址;

*next 是 listnode 型別的指標,存放的內容是後乙個節點的位址。

(未完待續,歡迎補充)

c指標的一些理解

c語言所有複雜的指標宣告,都是由各種宣告巢狀構成的。如何解讀複雜指標宣告呢?右左法則是乙個既著名又常用的方法。不過,右左法則其實並不是c標準裡面的內容,它是從c標準的宣告規定中歸納出來的方法。c標準的宣告規則,是用來解決如何建立宣告的,而右左法則是用來解決如何辯識乙個宣告的,兩者可以說是相反的。右左...

C指標 的一些練習

注 此篇是我使用指標敲的一些題目的整合,有一些 是重複的 撓頭 這樣做的目的是進行前後的一些比較和收穫一些心得 題目 輸入十個整數,進行排序。做法1 傳遞指標p include include include using namespace std void swap int p for i 1 i...

關於C指標的一些理解

有時總被指標的用法及型別所困擾,那我簡單理解一下指標。指標是乙個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的乙個位址。要搞清乙個指標需要搞清指標的四方面的內容 指標的型別,指標所指向的型別,指標的值或者叫指標所指向的記憶體區,還有指標本身所佔據的記憶體區。如下例子 1 int ptr 2 cha...