Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2
matrix.c
/* matrix.c -- Matrix-Beispiel in C: Variable Zeilengroessen */
/* Uebersetzen mit: gcc -Wall -o matrix matrix.c */
#include <stdlib.h>
#include <errno.h>
#include <stdio.h>
#define MAXROW 3
#define MAXCOL 3
void myerror(const char *msg) { (void)perror(msg); exit(1); }
int main(void) {
double **matrix;
int i, j;
/* Platz fuer MAXROW Zeilen schaffen */
matrix = (double **)malloc(MAXROW * sizeof(double *));
if (!matrix)
myerror("out of memory!");
for (i=0; i<MAXROW; i++) {
/* Platz fuer MAXCOL Spalten schaffen */
double *row = (double *)malloc(MAXCOL * sizeof(double));
if (!row)
myerror("out of memory");
/* Zeilen fuellen */
for (j=0; j<MAXCOL; j++)
row[j] = i*j; /* Irgendeinen Wert */
/* Zeiger auf diese Zeile speichern */
matrix[i] = row; /* Zeile speichern */
}
/* Alles ausgeben bzw. damit rechnen */
for (i=0; i<MAXROW; i++) {
for (j=0; j<MAXCOL; j++)
printf("Matrix[%d,%d] = %G\t", i, j, matrix[i][j]);
printf("\n");
}
/* Alle Zeilen wieder freigeben, dann das Zeilenarray freigeben */
/* [Optional, da am Ende des Programms!] */
for (i=0; i<MAXROW; i++)
free(matrix[i]);
free(matrix);
return 0; /* Das war's */
}
[Prev] [Up] [Relevant Chapter] [Next]
[Alte Quelle]
| Last modified: $Date: 2006/05/18 12:56:00 $ FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy |
|