Problem mit Feldern



  • Hi!

    naja mit solchen Aufgaben hab ichs auch scho probiert... aber langsam gehn mir die ideen aus 😞 naja ich hab mir daweil die Aufgabe gestellt ein Schiffe versenken zu programieren... was bei meinen Programmierkenntnissen ganz schön schwer is... leider kann ich noch ned irgendwie grafisch programmieren also muss halt ein 2D Array her...
    mal sehn ob was draus wird 🙂

    mfg Cheffe


  • Mod

    Power Off schrieb:

    In C++ hat man versucht, das Problem zu minimieren, indem man Referenzen eingefuehrt hat. Eine Referenz ist ein Zeiger, der immer initialisiert sein muss, und der immer auf eine bestimmte Adresse zeigt.

    eine referenz kann durch pointer implementiert sein, sie ist aber keiner. und es gibt objekte, die keine adresse haben (z.b. registervariablen) - einen pointer darauf kann man nicht erstellen (was dazu führt, dass das betreffende objekt im speicher angelegt werden muss, wenn man bezug auf seine adresse nimmt), eine referenz dagegen schon.



  • hmm und wie deklariere ich einen pointer und wie eine Referenz? gibts da nen unterschied?

    mfg Cheffe



  • int a = 5; // int-varibale (wert 5)
    int* i;    // zeiger auf int
    i = &a;    // zeiger auf adresse von 'a'
    

    sollte sich hier in fehler eingeschlichen haben, kritisiert mich ruhig 😉

    //edit: berichtigt



  • enno-tyrant schrieb:

    sollte sich hier in fehler eingeschlichen haben, kritisiert mich ruhig 😉

    die letzte kommentarzeile oder der dazugehörige code ist verkehrt.



  • "&" als unaerer Praefix-Operator (also mit einem Operand) nennt man "address of" Operator (also "Addresse von" Operator), "&x" bezeichnet die "Adresse von x".

    "&" als Typ-Qualifizierer (unaerer Postfix-Typ-Operator) nennt man "reference to" Operator oder Qualifier. "int&" bezeichnet "Referenz auf int", so wie "int*" "Zeiger auf int" bezeichnet. Am besten ist, man liest solche Typen von rechts nach links.

    🙂



  • uiuiui jetzt kann ich auchnoch anfangen von rechts nach links zu lesen... was man nicht alles fürs programmierenlernen tut^^

    kann mir bitte mal wer zeigen wie genau man einen zeiger deklariert? wär nett 🙂

    mfg Cheffe



  • au blödsinn!! ich meinte:
    wie man ne Referenz deklariert... sry

    mfg Cheffe 🙂



  • garnicht

    jede variable hat ne addresse mit ner referenz uebergibt man diese



  • sry total quatsch 😉

    zb

    int &referenz;
    

    edit:
    referenz ist jetzt aber nur ne addresse auf int wenn du sie nicht mit einer variablen initialisierst existiert diese addresse aber nicht

    zb

    int blah;
    int &referenz = blah;
    


  • kannte das bis jetzt nur als uebergabe an eine funktion

    aber selbst da wird sie ja als ueberga deklariert



  • ok dange 😃

    mfg Cheffe 🙂



  • Vertexwahn schrieb:

    #include <iostream>
    using namespace std;
    
    int main()
    {
    	cout<<"Wie gross soll das Array werden? "; 
    
    	int Summe = 0;
    
    	int ArraySize  = 0;
        cin>>ArraySize;
        int* Array = new int[ArraySize];
        
    	for(int i = 0; i < ArraySize; i++)
    	{
    		cout<<"Geben Sie das "<<i+1<<"te"<<" Element ein: ";
    		cin>>Array[i];
    
    		Summe = Summe + Array[i];
    	}
    
    	cout<<"Die Summe ist: "<<Summe<<endl;
    
    	delete[] Array;
    }
    

    ich hab gelernt, dass die größe von feldern schon zur kompilierzeit bekannt sein muss...wundert mich, dass das auch so geht



  • Wie denn, haben wir schon den 1.4.? 🤡


Anmelden zum Antworten