c 中物件陣列的怎麼宣告和初始化,給個例子,具體說明一下,謝謝

2022-03-25 06:30:08 字數 1490 閱讀 4723

1樓:匿名使用者

問題好亂!

一、getnext、setnext

這兩個函式再明白不過了,設計者在類package中定義了一個package* pnext;用來指向連結串列的下一個元素,getnext就是要取得下一個元素,自然返回該指標,setnext就是要給當前元素指定其下一個元素的地址,自然是給pnext賦值。

二、在建立第一個package物件時,pnext初始化為0,那麼在建立第二個package物件時,第一個package物件中的pnext是如何指向它的(不是已經初始化為0了麼?)?

看這段**:

package* ppackage= new package(pbox);

if (phead)

ptail->setnext(ppackage);

先建立第二個package物件,然後ptail->setnext(ppackage);

注意ptail永遠指向連結串列的最後一個物件,因此ptail->setnext(ppackage);的意思是將第二個物件是放在了第一個物件的pnext中,也就將第一個物件和第二個物件連結起來了。

三、若把當次建立的package物件的地址ppackage賦予給pnext,那麼pnext 不是指向剛剛建立的物件了麼?好像並沒有指向下一個package物件啊?

正如上面所說,setnext是把剛剛建立的物件放到當前連結串列最後一個元素的pnext成員裡,在此之前,剛剛建立的物件還不在連結串列中,連結串列的最後一個元素是上次建立的那個。

四、還有到最後,如何使pnext為0?

你也說了,pnext在package建立的時候就賦值為0的,因此不需要再給最後一個package的pnext賦值0。

另外,虛機團上產品**,超級便宜

2樓:匿名使用者

//當有自定義建構函式時,必須要有一個沒引數的建構函式#include

#include

#include

#include

using namespace std;

class stu

;stu::stu()

stu::stu(string name)void main()}

3樓:匿名使用者

int x[100];//陣列的宣告,宣告一個int型陣列,有100個元素。

int x[100] = ;//陣列x的首個元素被初始化為0,由於初始化值的個數比陣列元素個數少,因此其餘的99個元素都被自動初始化為0。

c++中結構體陣列中如何初始化部分資料?

4樓:育知同創教育

snack[0].band = "chocolate king";//這行在snack[0]底下顯示紅色波浪線,提示表示式必須為可修改的左值 ——字元陣列表示的字串是不能賦值的,可用strcpy函式:strcpy(snack[0].

band, "chocolate king"); 如果band的型別為string就可以賦值了。

求具體舉例說明C語言陣列的初始化和賦初值有何不同

你的書上好像錯了,所謂賦初值一般而言就是初始化啊從根本上說,其實初始化也並不是編譯階段完成,對於全域性變數 陣列 而言,一種是exe檔案中設定該程式的資料區中的為這個陣列存放空間中的值已經是初值了,當然這個值倒是編譯程式生成目標程式時設定的,程式執行載入時,給定空間中的內容直接拷貝到空間了,這個不佔...

關於c語言for語句初始化表示式裡的逗號

你的判斷 條件不對 你的判斷條件是賦值語句,把1賦給k,一直成立,所以一直迴圈不會退出,然版後k 然後救權死迴圈了。裡面的逗號是逗號表示式,逗號表示式就是,逗號的前後面的表示式都會執行一次。在進for迴圈時,會先將i 0,在k 1.其中判斷條件k 1是賦值,不是判斷,也就說每次判斷條件是否成立的時候...

金蝶kis專業版v123怎麼初始化設定和公司內部架設

你問的這些都是金蝶專案實施的範疇了,建議找金蝶 商簽訂專業的軟體服務合同。金蝶kis專業v12.3版怎麼重灌 求金蝶kis專業版v12.2的教程 5 專業版發版了很多版本號,教程的話,每個版本號都差不多。主要的內容和流程沒有變 金蝶kis專業版12.3如何允許負庫存 基礎設定 系統引數,如下圖 這個...