-5
A
回答
6
發現根據上述page,Cray指針之間的對應關係C指針可能是這樣的(但請注意,Cray指針與現代Fortran中的標準指針不同)。
Fortran語言:
integer a(3), i
integer*8 ptr
pointer(ptr, b(*)); integer b
a(:) = 10
print *, "a = ", a(1:3)
ptr = loc(a(1)) !! now b(i) becomes an alias of a(i) for i=1,2,3
b(2) = 30
print *, "b = ", b(1:3)
print *, "a = ", a(1:3)
C:
int i, a[ 3 ] = { 10, 10, 10 };
int *ptr, *b;
printf("a = %d %d %d\n", a[0], a[1], a[2]);
ptr = &(a[0]); // <--> ptr = loc(a(1)) in Fortran
b = ptr; // <--> pointer(ptr, b(*)) in Fortran
b[ 1 ] = 30;
printf("b = %d %d %d\n", b[0], b[1], b[2]);
printf("a = %d %d %d\n", a[0], a[1], a[2]);
編譯
gfortran -fcray-pointer test.f90
gcc test.c
a = 10 10 10
b = 10 30 10
a = 10 30 10
3
正如評論正確地說,前半部分是一個(非標準)cray指針結構,在分號後是一個簡單的聲明;這是一個非常奇怪的編程年齡組合!
Cray指針的更多信息可以在
https://www.sharcnet.ca/help/index.php/Using_CRAY_POINTERS_in_a_FORTRAN_90_PROGRAM
+0
什麼是等價物? – Nabin
相關問題
- 1. C指針,指針,字符
- 2. 關於C++指針
- 3. 關於C指針
- 4. 使用此關鍵字訪問C++中的函數指針
- 5. 問題有關C++字符指針
- 6. C++指針字符
- 7. 字符指針指針數組用C
- 8. 關於在C指針
- 9. 在C關於指針++
- 10. C++,有關使用指針
- 11. 關於刪除C++指針
- 12. 關於在C中指針
- 13. 創建指向沒有新關鍵字的對象的指針
- 14. VALUE_TYPE具有指針作爲關鍵
- 15. 指針指針(C++)
- 16. 關於指針的c/C++問題(雙指針)
- 17. 在指針參數上使用ref和out關鍵字
- 18. 都使用const指針或指針作爲'的std ::關鍵map`
- 19. C指針鑄造:單個int指針雙字符指針
- 20. 指針在C,整數指針字符指針
- 21. C - 傳遞和操作字符指針和指針指針
- 22. c#關鍵字
- 23. 關於字符指針
- 24. 何時使用此關鍵字樣式指導方針?
- 25. C:通過指針鍵排序的指針結構數組
- 26. 指針vs指針指針C
- 27. C++是關鍵部分無用當返回指針到數據
- 28. C字符串和指針
- 29. 字符指針在c
- 30. 指針 - 字符串C++
似乎是一個快速谷歌搜索會給你你需要的所有信息。 – owacoder
對第一件事不能說什麼,它對我來說看起來像是一個不完整的陳述。 ';'只是結束當前的命令,並開始一個新的命令。所以它聲明瞭一個整型變量'B'。 – haraldkl