Bert schrieb:
> Ich verstehe hier den Sinn von malloc nicht.
> Das Programm würde doch genauso funktionieren, wenn man einfach
> double matrix;
double matrix[3*3];
> schreibt und malloc ganz weglässt.
Ja, würde es.
> Ich hoffe, jemand kann mir das erklären.
Vielleicht ist es einfach nur eine Vorstufe zu
1 | int main()
|
2 | {
|
3 | int matrix_dim;
|
4 | |
5 | ...
|
6 | |
7 | printf( "Geben sie die Dimension der Matrix ein: " );
|
8 | scanf( "%d", &matrix_dim );
|
9 | |
10 | /* Speicher reservieren */
|
11 | matrix = (double *) malloc(matrix_dim*matrix_dim * sizeof(double));
|
12 |
|
13 | /* Matrixelemente einlesen */
|
14 | for (z=0; z<matrix_dim; ++z){
|
15 | ....
|
und dann bist du ohne malloc aufgeschmissen.
Übrigens: Guter Programmierstil erfordert, dass allokierter Speicher
auch wieder freigegeben wird. Jedes malloc muss also ein
korrespondierendes free haben.