我已經對malloc
矩陣有了一個想法,如果它是int**
。 但使用typedef
,我覺得有一個想法,但我不太確定。使用typedef動態分配矩陣
我這樣做嗎?
APSP = (APSPMatrix*)malloc(sizeof(APSPMatrix));
但是,當我訪問我會必須使用*APSP[0][0]
,我不知道如何在memset
/memcpy
使用此。
有沒有適當的方法來做到這一點?在動態分配和訪問。
我已經對malloc
矩陣有了一個想法,如果它是int**
。 但使用typedef
,我覺得有一個想法,但我不太確定。使用typedef動態分配矩陣
我這樣做嗎?
APSP = (APSPMatrix*)malloc(sizeof(APSPMatrix));
但是,當我訪問我會必須使用*APSP[0][0]
,我不知道如何在memset
/memcpy
使用此。
有沒有適當的方法來做到這一點?在動態分配和訪問。
我的建議是不使用數組typedef,它們使代碼難以閱讀,因爲當數組指針衰減正在或未發生時它不那麼明顯。
如果你想分配一個連續的數組,你可以寫:
int (*APSP)[SIZE] = malloc(sizeof(int[SIZE][SIZE]));
,然後訪問它APSP[0][0]
。
有關你們的會談「的malloc就好像它是int **
」中,我假設你的意思是你想爲每個行獨立的分配......但你會寫int **APSP
和寫一個循環來分配各行,它是真的和[SIZE][SIZE]
無關。
不幸的是,這是我的教授誰做了typedef,而不是我,我應該使用它。 :-( –
什麼是APSPMatrix?你的意思是'LabeledAdjMatrix'嗎? –
哦拍是的。有一個'#define APSPMatrix LabeledAdjMatrix'。我忘了包括那些woops。 –
@ * APSP [0] [0]' - >'(* APSP)[0] [0]' – BLUEPIXY