star
是一個指向單個整數的指針。所以length
應該是1,由您來設置它。 star[0]
沒問題,但star[1]
會超出範圍。順便說一下,當你使用動態分配時,不要忘記在最後delete star;
。
sizeof(star)
會給你指針的大小,而不是分配給元素的數量。
如果你想知道動態的大小,你必須自己來跟蹤它:
size_t length = 15; // or any number you want
int *star = new int[length]; // this time you've allocated an array
...
delete[] star; // if you allocate an array, don't forget the []
另一種方法是使用vector<int>
這是完全動態的,可以長按需要,並照顧釋放時,不再需要他們:
vector<int> star; // empty vector created
...
star.push_back(i); // add an element
...
j=star.size(); // in fact you don't need j anymore
您可以訪問成員正是因爲使用數組(如star[k])
將代碼粘貼到此處,而不是圖像。 – abdul
'星號'不是一個數組。 – 0x499602D2