C中int a b,C 中語句「int a b 」的意思?

2022-03-05 16:06:56 字數 4406 閱讀 3265

1樓:匿名使用者

int &b=a;這是引用......a和b是共用同一塊記憶體的,b的值改變了,a的值也會跟著改變的......也可以暫時理解為a就是b......

2樓:匿名使用者

&這個符號不是地址符號 是引用a和b存在同樣的地址 不管是如何計算 最後的結果a和b都是相等的這些基礎的東西書上都會講的 不要漏看

3樓:匿名使用者

b的值送到a的值在同一個地址!

4樓:匿名使用者

這個問題的關鍵知識點是c++的 引用。理解了什麼是引用就很簡單了。

int &b=a;

在定義b的時候前面的符號& 就表示b是a的一個引用。

對引用變數的賦值等操作相當於對變數本身的操作。

所以你對b賦值 b=a+14;其實相當於a=a+14;操作。

引用又稱為別名。相當於一個人兩個名字。不管你朋友叫你哪個名字等於都是在叫你。

所以b是15,a is too;

c++ 中語句「int &a=b;」的意思?

5樓:百小度

int &b=a;在定義b的時候前面的符號& 就表示b是a的一個引用,對引用變數的賦值等操作相當於對變數本身的操作。所以你對b賦值 b=a+14其實相當於a=a+14操作,引用又稱為別名,相當於一個人兩個名字。所以b是15。

1、c++是c語言的繼承,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的物件導向的程式設計。c++擅長物件導向程式設計的同時,還可以進行基於過程的程式設計,因而c++就適應的問題規模而論,大小由之。

2、c++不僅擁有計算機高效執行的實用性特徵,同時還致力於提高大規模程式的程式設計質量與程式設計語言的問題描述能力。

c++中定義一個引用變數,如:int& a = b;,此時定義的這個引用變數a要不要佔用空間?

6樓:匿名使用者

宣告一個引用,不是新定義了一個變數,它只表示該引用名是目標變數名的一個別名,它本身不是一種資料型別,因此引用本身不佔儲存單元,系統也不給引用分配儲存單元。故:對引用求地址,就是對目標變數求地址。

&ra與&a相等。

7樓:匿名使用者

a是引用,是不佔空間的,它只是一個名字,代表原來的的變數,對引用操作,就是對原變數操作,張三叫張立,但張三和張立的本體只有一個.只是兩個名字而已.而指標不同,指標是儲存地址的變數.

所以經常用開啟門的鑰匙來比喻指標.開啟門可以看到變數,但鑰匙雖然小,但也是一個實體.

8樓:plu二龍專用

理論上,引用應該相當於別名,不佔用任何空間實際上,

c++在實現這個操作的時候會建立常指標來指向對應的值因此建立引用會佔用等同於指標的空間

c++中,int * &a=new int 到底是什麼意思

9樓:吉祥二進位制

引用就是對其它識別符號的一個別名。

1、引用在一定程度上以理解為 t* const p;

p是常量*p不是常量,所以在宣告定義時必須初始化。 因此你所說的

int &c ;

int b;

c= b;

編譯器一般不會編譯通過的。不是說錯誤出現在第三步,而是在第一步時就錯了

2、為什麼引入引用的概念

代替指標,使**編寫更簡潔,語法層上就是變數的別名,彙編角度和指標的概念是一樣的,都是藉助lea指令(ia32平臺上) ,特別是物件導向的思想引入後,物件的記憶體越來越大,單純的像c語言的struct結構體做返回值 會耗費大量的時間。

3、int * &a=new int ;

這個應該是編譯不能通過的,c++是強型別的程式語言,左邊是int *&型別,右邊是int *,他們倆是不一樣的型別,因此不能賦值的。

當然如下面的**可以編譯通過,但是如下面的**純屬花碼,即不產生任何機器指令,編譯器有可能直接忽略掉這個表示式。從而只生成一句 ret的指令。

int main()

10樓:吾守護奇蹟

定義引用的時候必須初始化,也就是說定義引用的時候必須告訴編譯器,這是誰的引用(別名)

int *&a = new int;定義一個指標的引用,這個引用是new int分配的記憶體的別名

11樓:匿名使用者

int * &a=new int; vs2012和gcc4.8編譯錯誤。

new int返回右值指標,不能賦值給非常值引用(這可以從gcc的編譯錯誤中看出)。原因是,臨時變數理論上在表示式結束後會被析構,因而在後續**中不可使用。應該改為int* const &a = new int; 即:

將返回的指標賦給常值引用,因而該臨時變數的生命週期得到延長。事實上,這等價於int* const a = new int;

12樓:浪漫冰塊

這裡a是一個引用,它是指向一個new int 型別的引用//這樣理解就好了

int *pb;

pb = new int;

int *&a = pb;

13樓:匿名使用者

int a;

int *&a=new int;

就是int *a=new int

請問c++中 void swap(int &a,int &b) &是什麼意思?謝謝

14樓:匿名使用者

引數裡面的&表示引用型引數

一般的引數傳遞的時候,形參是實參的副本,也就是說,形參雖然和實參一樣,但是在記憶體中的位置不同

而引用型引數,在函式引數傳遞的時候,並不要複製引數,形參和實參在記憶體中是同一個位置,因此修改形參,實參也變化了

15樓:匿名使用者

& 這裡表示引用,說明需要傳遞變數給這個函式,函式中可以對引數的值進行修改

如果沒有 &,修改的就是函式體中的臨時變數

16樓:匿名使用者

&是地址符,整個函式定義是引數引用

17樓:匿名使用者

&表示引用,這還是比較初步的,引用就是同名變數,引用跟指標在很多方面都是相同的

18樓:茹果妳在

引用引數,會改變實參的值

c++中 int a,b 是什麼意思

19樓:匿名使用者

int a;表示一個記憶體空間,這個空間用來存放一個整數

20樓:戴奇

宣告兩個整型變數,要是定義的話就是對它們進行了賦值。如,int a=3,b=4;

c++ 中函式引數 int& a 和int &a 有什麼區別 50

21樓:貧血去

這是傳引用呼叫,函式呼叫引數的時候不會再拷貝一個副本。 // 函式呼叫後a 和b並沒有達到交換的目的(拷貝臨時變數 a, b) int swap(int a, int b) // 函式呼叫後a 和b的值進行了交換(直接作用於 a, 和b) int swap(int &a, int &b)

22樓:匿名使用者

int &a //把a的地址強制轉換成10進位制數

int& a//將a的引用強制轉換為整形

c++中,為什麼可以有 int * & a = new int; 這種寫法,求解釋

23樓:

int * &a是宣告瞭一個int *型引用a,亦即a是一個整型指標的引用,讓這個引用a等於new int的表示式就是int * & a = new int;了。new是運算子,new int分配了一個int型變數所需的空間並把首地址返回,這被返回的int *地址(指標)賦給了int *型引用a,這本身就是對引用a的初始化,只是中間的int *型指標沒有顯式地寫出來!看來,程式設計師在以後的**中並不想使用這個int空間的指標,而只想用其引用;寫出指標來,又不用,那自然是多餘的……

24樓:

這個首先要明白int * & a ;這裡,a的型別是 int*型別的指標的引用,也就是說,a實際是一個引用,指向的是int *型別的指標。new int 返回值就是int * 型別的指標。

本質上就是

25樓:認不倒你

問題錯誤:

int * & a = new int;

error: invalid initialization of non-const reference of type 'int*&' from a temporary of type 'int*'

C語言若有定義語句 int a 41,

p 1 3 樓主追問 char s 10 則strlen s 的值為 strlen是計算字 dao符串長度,遇到 回 0 結束返回長度,所 答以是1 struct numn struct num pn n 則表示式pn b n.a pn b的值是 pn結構體指標指向結構體n,n被初始化成 pn b ...

求c語言高手解設有語句 int a 3執行語句a a

賦值運算順序自右而左,首先算a a,即3 3的值為9,然後算a 9,即a a 9,值為 6,最後算a 6,即a a 6 值為最後值為 3 賦值語來句,從右到左依次執行 源那麼 int a 3 a a a a 相當於 a a a a a 然後相當於 a a a a a a a 由於a初始化為3 a a...

int a中a是什麼

a是變數名,單獨的a出現在表示式中,返回的是a的值。a取的是a在記憶體中的地址,int a 在記憶體中有4位元組的空間 依編譯器不同而有不同 a就是這塊記憶體區域的地址。這塊記憶體區域中儲存的是a的值。int a只是宣告瞭一個int型別的變數,名稱是a相當於告訴編譯器 我需要用到一個int型別的變數...