關於指標和結構體的,結構體指標和結構體中的指標的區別

2022-06-10 10:36:56 字數 2585 閱讀 3679

1樓:匿名使用者

dulnode 是個雙鏈表節點的結構體。大括號內是對它的定義。

prior 是指向當前節點的前乙個節點的指標。

next 是指向當前節點的後乙個節點的指標。

2樓:

定義了乙個結構型別

struct dulnode

其中dulnode就表示這個型別(等價),dulinklist表求指向這個型別的指標型別;

dulnode a;//表求定義這個結構的乙個變數dulinklist p;//表求定義指向這個結構的乙個指標

3樓:爛筆小心

建議樓主找一下譚浩強的c++基礎來看看

對於結構體的宣告與定義問題:

1.直接定義,對於單檔案的簡單結構體比較適用。例如:

struct student

std1,std2;//直接定義了student std1和std2,就像定義了int a和b。但沒有初始化,後面再對立面的值詳細賦值。

2.宣告再定義,對於多檔案的,複雜的結構體適用。

typedef struct student//在檔案a.h

;student std1=;//檔案b

student std2=;

這樣處理以後其他檔案要使用結構體(使用結構體存放系統資料,很多檔案都要引用),直接外部宣告就行了,避免了重複定義的錯誤。

對於你的問題:

typedef struct dulnodedulnode,*dulinklist;//定義結構體dulnode名稱為dulnode;另乙個為結構體dulnode結構體型指標

由於結構體dulnode裡面有乙個資料結構體和兩個指標,一般用作雙鏈表節點的結構體。在定義之後,乙個指向前乙個結構體,另乙個指向下乙個結構體,這樣的話就把一組結構體連起來了,對於輸出,輸出,物理、邏輯刪除都方便,可靠,另外還可以動態建立。

結構體指標和結構體中的指標的區別

4樓:啞然

1、針對的資料型別不同:

結構體指標:結構體指針對變數。

結構體中的指標:結構體中的指標指成員。

2、針對的含義不同:

結構體指標:指向結構體型別的指標。

結構體中的指標:指成員指標。

3、用法不同:

結構體指標:

struct a;struct a m,*p=&m;

p就是struct a型別的結構體指標,指向了同型別的結構體變數m。

結構體中的指標:

struct b

成員是指float型別的指標,next成員是指struct b型別的指標。

5樓:天天向上知識店鋪

結構體指標是指指向結構體型別變數的指標。

如:struct a

;struct a m,*p=&m;

這裡的p就是struct a型別的結構體指標,指向了同型別的結構體變數m;有這個指向操作後,以後用m和用*p是一樣的。

結構體中的指標是指成員指標。

如:struct b

;struct b m,n;

float bb=1.1;

m.b=&bb;

m.next=&n;

這裡的b成員是指float型別的指標,next成員是指struct b型別的指標。

6樓:匿名使用者

如果有個叫做 abc 的結構體,結構體指標就是 abc *結構體中的指標,就是它有個成員是指標

struct abc;

7樓:

這裡的b成員是指float型別變數的指標,next成員是指struct b型別變數的指標。

float、struct b都只是一種資料型別,是不占用記憶體的,故沒有指標;

只有float或struct b定義的變數才會有指標(如:float a;a為變數就佔記憶體,就有位址即指標)

結構體成員指標變數和結構體指標變數

8樓:碧原信用服務

你這個看似動態鍊錶的問題。但是你的結構裡定義的指標錯了。應該是本結構體型別的指標。不是char型別的。

有沒有關於結構體和指標的詳解。。。求大神 15

9樓:匿名使用者

結構體 你就來將它理解為 乙個自 你自己建立的資料型別,可以bai自己du封裝資料;

指標zhi 你就當它是位址,當然 需要你dao關注的是指標的型別,指標的型別 也就是說 你這個位址n能夠訪問多大的空間,int 型別的指標一般 4個位元組 ;

給你 舉乙個例子

int * p = 某乙個位址;對應的可以訪問 4個位元組你將 (char *) p ;

你就可以這樣 *p 訪問 4個位元組中的乙個位元組;

10樓:匿名使用者

指標麼,我就把它理解為位址了

結構體麼……不好說……

11樓:匿名使用者

挺大的乙個範圍的,建議找本書看!

關於C中結構體裡使用指標的問題,求大神

typedef struct flightflight 這樣就行了,scanf或printf都行,將資料存放在棧上 或者將資料放在堆上,你也可以手動fly flynum num char malloc 20 scanf s fly flynum num printf s fly flynum num...

c語言結構體成員指標初始化問題,C語言結構體成員指標初始化問題

一中只是將name指向 jim 所在的空間,jim 已經存在了,直接將指標指向他即可,而二中是複製乙個 jim 到name所指向的空間,沒有初始化當然不行 第乙個 jim 返回的是乙個位址,是正確的。第二個記憶體分配小了。問題 一 中的student.name並未初始化,為什麼能賦值成功?stu.n...

c語言程式設計指向結構體陣列的指標,C語言程式設計指向結構體陣列的指標

1 結構體指標其實是乙個指標,它儲存的是指向某個結構體的 位址 所以結構體指標陣列儲存的其實是指向一組結構體的 位址 陣列,它本身並不包含結構體的具體內容 沒有被分配記憶體 2 所以當用到他們時,要麼重定向,比如 d b 讓d指向b,d儲存的是b的位址,這樣就能通過d來呼叫b了 要麼用malloc為...