我有點困惑與指針。指針指向哪個數據類型?
說,如果我有這樣的:
int size;
int bytes;
int numbers;
int *ptr;
ptr = new int[500];
我的問題是在第一點的任何特定變量或只是整體INT變量的指針。如果我想要一個只能指向數字變量的指針,該怎麼辦?
我有一個尾巴的問題,如果你不介意。我想分配動態內存給我的數組,這是有效的嗎? :
int numbers[20];
int *ptr;
ptr = new int[size];
這會給我的數組堆內存嗎?
我非常大的大小的數組,並且沒有其他辦法與它合作,而無需使用堆內存。
P.S:此時我不能使用向量。
要理解指針,請考慮指針是指程序存在於實際RAM中的引用。像C這樣的經典強類型語言要求運行時在內存中的所有變量都是鍵入的。因此,例如,可以爲32位整數類型預留一個4字節的內存塊。爲了適當的讀取,寫入和使用,內容大小和類型必須在編譯期間以靜態方式直接標識。它看起來像你的任務不會使用堆內存,而是被視爲一個正常的數組。閱讀有關malloc()的文檔以進行動態分配。 –