[c] einfacher zeiger auf zweidimensionales feld

Mizi Mace

Mitglied
einen wunderschönen guten morgen,

ich erhalte von einen übergeordneten programm drei zeiger über folgende funktionsschnittstelle (das code ist vereinfacht und schematisch dargestellt):

Code:
char funktion( double *E, double *A, double *B) {
    mach was tolles mit *E
    speicher ergebnisse in *A und *B
}

dabei ist im zeiger *E ein vektor hinterlegt, dieser modifiziert wird und einen vektor VEKTOR und ein zweidimensionales feld FELD. die anderen beiden zeiger *A und *B dienen zur übermittlung der berechnungsergebnisse der funktion. ich kann ohne weiteres den vektor VEKTOR mittels den zeiger *A hinterlegen.

meine frage ist nun: wie kann ich das zweidimensionale feld FELD durch den zeiger *B ausdrücken?

gruss
mizi
 
Hallo Mizi,

irgendwie sind sowohl Dein Beispielcode als auch Deine Erklärung völlig unklar!
Aber Dein Zeiger auf E ist jedenfalls ein double und keine Vektor oder sonstwas!

Poste mal lieber den vollständigen Code und erklär nochmal genau, was Du fragen möchtest !!

Gruß
Klaus
 
einen wunderschönen guten tag,

der vollständige code selbst ist auch etwas sehr lang. ich versuch es etwas kürzer in einen beispielprogramm.

Code:
char funktion( double *E, double *A, double *B) {

double ausgabeA[33];
double ausgabeB[20][33];
int i, j;

for(i=0; i<33; i++) {
ausgabeA[i] = E[i];
}}

for(i=0; i<20; i++) {
for(j=0; j<33; j++) {
ausgabeB[i][j] = i * E[j];
}
}

A = ausgabeA;
B = ausgabeB;

}

bei *E handelt es sich hierbei um einen zeiger auf ein vektor von werten des typs double der länge 33. damit also schon ein vektor (mathematisch) bzw. ein feld mit einer dimension.

beim kompelieren erhalte ich für die rote zeile folgenden fehler:

Code:
[Warning] assignment from incompatible pointer type
cannot convert `double[20][33]' to `double*' in assignment

dass dieser fehler kommen muss, ist mir vollkommen klar. meine frage ist nun, wie schaffe ich es, dieses zweidimensionale feld (nun) ausgabeB mit den zeiger B auszudrücken.

gruss
mizi

PS: wie können code-fragmente in größeren kästen dargestellt werden?
 
Zuletzt bearbeitet:
Zurück