c 結構體取地址,c c 結構體取地址

2022-10-14 09:20:24 字數 2662 閱讀 8115

1樓:匿名使用者

首先要求解釋下面的語句

&(((a *)0) - >)

因為我們不能直接使用數字的記憶體地址,如0xfffff他是一個整數沒有解決的語句(*)為0xffff表明,在記憶體中的地址,他說:整數0xffff鑄造為int型別的指標。你可以把任何整數轉換為一個記憶體地址,(*)0x2feee在這點上,以的記憶體地址2feee的地方,他的int型別,你也可以新增值到這個地址(當然不是在地址衝突)*(int *)0x2feee = 2;

(a *)0,這句話的意思是整數0,強制汽車的型別的指標的宣告中表示一個記憶體地址,他的型別是a. ((a *)0) - >一個很明顯的,因為(a *)0是一個指標的型別的結構,和他的地址在儲存器0,((a *) - >的結構體的成員整數變數一個

&(((a *)0) - >一個)所表示的地址的變數a,其中,輸出為0時,地址的結構體的成員,其結構是相同的,但是這僅僅是一個巧合,你可以改變ab知道,如&(((a *)0) - > b,所以不再是零,因為b類地址的結構是不相同的位置。

2問輸出結構體變數的地址是非常簡單的建立一個匿名變數的那一側直接使用的記憶體地址的訪問結構的成員,實在是太比較麻煩,因此,建設的意義無論你首先建立一個變數,結構,動態地建立一個結構指標變數,或直接建立一個指標變數,然後使用該變數(結構房東哪怕最簡單的訪問成員

例如!):

馬a * p = &ma;

ma.a = / /操作員訪問結構成員,並分配。

p-> a = 2; / /指標應使用箭頭 - >操作符來訪問成員的結構和分配。

詮釋* p1 =&ma.a; / /分配結構的成員變數的地址指標p1 />詮釋* p2 =&p-> b; / /結構中的成員變數的地址指標p2

2樓:匿名使用者

b.a就可以啦

"陣列名等於其首地址" 這是語法規定

3樓:匿名使用者

結構體這章學會了,c++的程式設計便進了一大步 跨入了物件導向程式設計的行列&(b.a)這個最清楚了

通過b變數取出a的首地址中的值

再通過&運算子算出首地址

你會說為什麼要a來表示首地址 a代表a[0] 代表int 型的第一個變數 你也可以把它弄成自定義型別,應為陣列中有很多變數。但一定要指向第一個變數。

4樓:匿名使用者

陣列a就是它的地址,&a出來後的值和a是相等的。

所以b.a,&b.a,&(b.a[0])是相等的。

5樓:

直接b.a就行,或者 &(b.a[0])也可以

c/c++為什麼結構體在函式中通過 地址傳遞,怎麼輸出地址不對,麻煩從記憶體角度分析 10

6樓:匿名使用者

首先,printf("top:%d\n",top);並不是輸出top的地址,用& top;

其次,push_i()函式中,s=p是沒有任何意義的,如果你是想將p節點連線在s節點後,那麼用s->next = p;且若第二次呼叫push_i()將覆蓋上一次的節點,即連結串列裡最多兩個節點

最後,沒有free()是不太好的習慣,當然這裡沒什麼關係

請問c語言中陣列成員在記憶體中的地址是連續存放的,結構體的成員在記憶體中是連續存放的嗎?

7樓:倒黴熊

一般來說,結構體成員在記憶體中是連續存放的。

8樓:

這個不一定,結構體所佔用的記憶體是連續的,但其中各個成員不一定是連續存放的,要看你結構體中定義成員順序是否有位元組對齊,可參見:http://www.

9樓:

結構體的成員在記憶體中不一定是連續存放的,因為要符合對齊要求,就有可能空出某些單元來。比如:

delphi如何取得結構體指標的成員的首地址的值?

c語言結構體名代表什麼?是地址嗎?

10樓:子諾嫣然

結構體的定義是一種型別的定義,就像int、float一樣來定義變數,通過這種型別定義出的變數可以當做是地址。當做實參時可以通過&來取地址,形參指標接收。

11樓:匿名使用者

結構體名和型別名是等價的,是一種型別說明符,只有在它定義了變數(物件)後系統才分配記憶體空間,不是地址。

12樓:匿名使用者

struct book arr[5];

其中struct book 相當於 int 、char。這個夠具體了吧。

在c語言中陣列名是一個地址,那麼結構體名是不是一個地址呢?

13樓:

使用&(取地址運算子) 才能得到結構體的地址。

和陣列不一樣,單獨的結構體名不是該結構體地址的 同義詞。

單獨的機構體名不是該機構體的地址。

14樓:匿名使用者

當然不是,結構體名你可以理解成一個資料型別

15樓:匿名使用者

不是, 結構體名是一個型別名

16樓:匿名使用者

不是,必須使用&,才能得到地址。

C語言結構體,C語言結構體定義

sort函式引數裡寫的是陣列,因此呼叫函式的時候傳的是變數的地址,當結構體變數的值在sort函式發生變化的時候,在主函式的值也會發生同樣的變化,因此這個函式其實不需要返回一個具體的數值,寫return就可以了。其實如果不需要返回值的話,可以直接定義為void型別,這樣就不需要return語句了。so...

C語言結構體定義,C語言結構體定義

所謂結構體陣列,是指陣列中的每個元素都是一個結構體。在實際應用中,c語言結構體陣列常被用來表示一個擁有相同資料結構的群體,比如一個班的學生 一個車間的職工等。結構體可以儲存不同的資料型別,將他們互相聯絡起來。結構體陣列可以連續儲存多個結構體,和陣列作用相似。比如想定義同一個最小外接矩形的四個座標值,...

C語言結構體題目,c語言結構體題目

p為結構 st的指標 陣列a 3 為結構 st的陣列 既有3個st,每個結構 st裡有2個元素,所以有6個數值 第三問 a為陣列a 3 第一個元素a 0 的地址 p a,將陣列a的地址賦值給p,p指向a 0 p x 即為a 0 x 樓主學結構應該知道 dt 0 指取dt 0 的地址 第二問 a 0 ...