在解决科学问题时,矩阵数据类型是非常常见的一种数据类型,而C语言并没有提供该数据类型,而利用二维数组很容易定义矩阵数据类型,但是如果矩阵在程序中需要作为返回值返回的话,就不能简单的使用二维数组来实现了,这里与大家分享下,如何利用C语言定义矩阵,并将其初始化的过程。
工具/原料
C语言编译器(Microsoft Visual C++ 6.0 或者DEV-C++ 5等)
方法/步骤
1
第一种方法是动态的申请矩阵存储空间,该方法的好处有以下两点:1.能够动态的申请和释放存储空间;2.对于将矩阵作为函数返回值的情况,该方法具有独特的优势。
2
定义结构体类型,这里需要利用指针和结构体,其中m和n分别表示矩阵的行和列
3
为矩阵申请储存空间,注意这里使用了malloc()函数
4
初始化矩阵,这里将矩阵初始化为m*n的数组,且矩阵中的每一个元素的值均为0
5
释放存储空间
6
至此,动态申请矩阵就完成了。
方法/步骤2
1
第二种方法是静态存储实现,该方法的好处是简单、易实现,相对第一种方法缺点是1.静态实现,不能动态的申请和释放空间,对电脑的内容要求高;2.对于将矩阵作为函数返回值的情况,不能使用该方法。
2
这里直接利用二维数据来实现,具体方法见下图
3
初始化
4
这里不能释放空间。
注意事项
由于程序中使用了malloc()函数,因此程序的头文件必须添加stdlib.h