我知道C指針是「一個包含地址的變量」。關於Fortran指針呢?可以通過將Fortran指針指向目標或使用allocate語句來分配Fortran指針。在這兩種情況下,指針的內存使用情況如何?比方說,我有一個指針:Fortran指針及其內存使用情況
pb => b(101:200)
是它正確地說,PB只佔據32位的存儲器,用於存儲B(101)的地址(如果編譯在32位可執行文件)和其他32位來存儲元素的數量(100)? 如果我有:
pb => b(5,1:10)
我想也步幅必須存儲,所以指針需要3 * 32位總,是不是正確的? 但是當我分配終場前:
Allocate(pb(1:100))
我其實我保留爲指針100個存儲位置?在這裏,我感到困惑。任何人都可以澄清嗎?
感謝 阿爾貝託
等待分配時(pointername(1:10000))是否只分配描述符(地址= undefined,下限和上限以及stride = 1),還是實際上爲指針保留了10000個內存位置?非常感謝 – Lupocci
還有什麼意思與別名?實踐中有什麼不同? – Lupocci
在C中,你總是會區分指針和目標。 Fortran中不是這樣。大多數情況下,指針的使用等同於使用目標。唯一的例外是使用函數,或者指定特定於類似於=>(更改目標)或ASSOCIATED(檢查指針狀態)的指針。 –