剛學不久,想問一下大神。結構體裡面的陣列可以動態分配嗎?如果可以的話,為什麼我使用的new沒有成功

時間 2021-06-30 01:48:37

1樓:ok洛陽水席

你的理解有誤,

st2 *data=new st2 [n];不是為st2中的data動態分配記憶體,你這樣做,只是為data這個變數分配了5個st2大小的記憶體。

你可以寫成這樣:

#include

#define n 5

struct st1

;struct st2

;void main()

for(int j=0;j

不過這是動態分配結構體,而不是裡面的陣列。

動態分配結構體裡的陣列應該這麼做:

#include

#define n 5

struct st1

;struct st2

;void main()

for(int j=0;j

不過你這裡st1只有一個成員,完全沒必要。:

#include

#define n 5

struct st2

;void main()

for(int j=0;j

動態陣列的實現一般就兩種情況:

1:用指標實現之:

#include

using namespace std;

int main()

2:用vector實現之:

#include

#include

using namespace std;

int main()

{int len;

cin>>len;

vectorarray(len);//宣告變長陣列for(int i=0;i呃,vector如果不理解可以暫時放下,不用著急,慢慢來……

在此宣告,發現樓上兩位未能解決樓主問題,方才作答,絕非搶題之為。得罪之處,請見諒。如發現拙言有誤,不吝賜教,萬分感激!

2樓:匿名使用者

肯定不可以啦

動態的陣列只能用vector來實現。不然你想一個動態的陣列,編譯器怎麼給他分配記憶體?

3樓:匿名使用者

結構定義呼叫錯誤,以及使用物件錯誤

for(int i =0; i < n; i ++)

你原來的是寫法是物件陣列越界了……

想問一下學舞蹈有什么用嗎,想問一下學舞蹈有什麼用嗎?

不要在沒有開始嘗試一件新的事情時,就被自己所想象的一些所謂的困難擊退,不敢前行。很多人都會想零基礎的人學舞蹈會有前途嗎?答案一定是有的,但這個前途也是自己努力來的。雖然說萬事開頭難,但是也正因為大家沒有學習過舞蹈,還是一張白紙,所以所有的一切的是新鮮的,老師教給我們怎麼去體會,我們就怎麼去做,把老師...

我摸了一下剛認識不久的女朋友的頭,她覺得我很膚淺,怎樣道欠

吳詩妍好 你可以直接對她說呀,對不起,我以後不會這樣做了。沒有什麼不好意思的呀,說不丟人的呀,為了自己所愛的人,也許他不喜歡別人摸他的頭吧,個人的習慣。不要顯得太放蕩呀,畢竟剛剛認識呀,感情還不夠深。 雪絨花 我覺得你對剛認識不久的女朋友摸頭的行為的確有點唐突,你得有進一步的瞭解溝通增進了感情,她對...

我想問一下,我剛買了一臺久保田1004拖拉機用多大的旋耕機最

你好 配210雙軸旋耕機或250雙軸旋耕機 勃農牌旋耕機比較好 m9540是什麼?是954嗎如果是954,2.5的旋耕機就小了點吧?怎麼說也配個3米以上的,車就是用來幹活的,省車不出活,有什麼用?3米以上,有液壓摺疊旋耕機。 2.4 2.5米旋耕機.我的m9540使用2.4米旋耕機.m1004,m9...