在解決科學問題時,矩陣數據類型是非常常見的一種數據類型,而C語言並沒有提供該數據類型,而利用二維數組很容易定義矩陣數據類型,但是如果矩陣在程序中需要作為返回值返回的話,就不能簡單的使用二維數組來實現了,這裡與大家分享下,如何利用C語言定義矩陣,並將其初始化的過程。
工具/原料
C語言編譯器(Microsoft Visual C++ 6.0 或者DEV-C++ 5等)
方法/步驟
第一種方法是動態的申請矩陣存儲空間,該方法的好處有以下兩點:
1.能夠動態的申請和釋放存儲空間;
2.對於將矩陣作為函數返回值的情況,該方法具有獨特的優勢。
定義結構體類型,這裡需要利用指針和結構體,其中m和n分別表示矩陣的行和列
為矩陣申請儲存空間,注意這裡使用了malloc()函數
初始化矩陣,這裡將矩陣初始化為m*n的數組,且矩陣中的每一個元素的值均為0
釋放存儲空間
至此,動態申請矩陣就完成了。
方法/步驟2
第二種方法是靜態存儲實現,該方法的好處是簡單、易實現,相對第一種方法缺點是
1.靜態實現,不能動態的申請和釋放空間,對電腦的內容要求高;
2.對於將矩陣作為函數返回值的情況,不能使用該方法。
這裡直接利用二維數據來實現,具體方法見下圖
初始化
這裡不能釋放空間。
注意事項
由於程序中使用了malloc()函數,因此程序的頭文件必須添加stdlib.h