call-by-reference prob

Tutorials.at
Verfügbare Informationen zu "call-by-reference prob"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: doc.harakiri - DrPhil_Guth
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: C / C++
  • Antworten: 2
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: call-by-reference prob
  • Letzte Antwort: vor 16 Jahren, 5 Monaten, 13 Tagen, 8 Stunden, 22 Minuten
  • Alle Beiträge und Antworten zu "call-by-reference prob"

    Re: call-by-reference prob

    doc.harakiri - 09.11.2007, 12:39

    call-by-reference prob
    hallo!
    vl. kann mir hier jemand helfen bei meinem prob :)

    ich soll dieses bitoperatoren-bsp mit ner funktion lösen, sprich die beiden 32-Bit-Hälften sollen per call-by-reference mit hilfe von pointern an die aufrufende funktion zurückgegeben werden.

    hab mir leider die zähne dran ausgebissen, vl. weiß hier jemand wies geht.

    Code: #include<stdio.h>


    int main(void)

    {
       
      unsigned long big_num = 0xAAAABBBBCCCCDDDD;
      unsigned int byte_num_1 = 0x0;
      unsigned int byte_num_2 = 0x0;
     
       
      printf("value of big_num = %lX \n", big_num);
       
     
      byte_num_2 = ( unsigned int ) big_num;

      big_num = big_num >> 32;
     
      byte_num_1 = ( unsigned int ) big_num;
     
     
      printf("\nValue of byte_num_1 = %X ", byte_num_1);   

      printf("\nValue of byte_num_2 = %X \n", byte_num_2);
       
    }



    Re: call-by-reference prob

    DrPhil_Guth - 09.11.2007, 22:03


    Hi!

    Also so wie du das beschrieben hast, solltest du doch eine extra funktion schreiben, die die aufgabe erledigt oder?

    Vielleicht solltest du nochmal genauer nachsehen was call by reference bedeutet.

    Aber so wie ich das verstanden habe war das so gemeint, dass an die funktion zeiger übergeben werden und die ergebniswerte dort hineingeschrieben werden.

    Hier mal ein versuch:

    Code:
    #define LOW_WORD 0x0000FFFF
    #define HIGH_WORD 0xFFFF0000

    void split_integer(unsigned long integer, unsigned short* low_word, unsigned short* high_word)
    {
         *low_word = integer & LOW_WORD;
         *high_word = (integer & HIGH_WORD) >> 16;
    }

    Ich glaub so müsste das hinhaun...



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    string abfragen? - gepostet von Godmaster am Dienstag 03.10.2006
    Befehle / Funktionen - gepostet von Walgo am Mittwoch 18.07.2007
    c-Programme mit psp - gepostet von Elch am Donnerstag 13.09.2007
    Shutdown - gepostet von DarkJiN am Samstag 11.08.2007
    atoi (Fehler: cast ??) - gepostet von exbs am Mittwoch 20.12.2006
    Mp3 Tag lesen ? - gepostet von exbs am Dienstag 09.01.2007
    Asseblercode? - gepostet von detewe89 am Freitag 01.06.2007
    Programm (C) was Sekunden in Tage Stunden Minuten umrechnet! - gepostet von Kimi am Donnerstag 01.11.2007
    FORTRAN - gepostet von detewe89 am Montag 01.10.2007



    Ähnliche Beiträge wie "call-by-reference prob"

    Call of Duty 2 - Kanack Soldat (Dienstag 06.03.2007)
    The Call - Danath (Freitag 02.07.2004)
    load prob. - MiMo (Donnerstag 08.03.2007)
    Party 26th March - Manah (Montag 23.03.2009)
    Call of Duty 4 - EFS Punisher (Sonntag 28.10.2007)
    Call in shows - Hahlin (Donnerstag 16.08.2007)
    [Sun] Call Of Duty 2 - alemciler (Montag 03.07.2006)
    Call Of Duty 2 - Anonymous (Sonntag 29.01.2006)
    Prob: kurze Drehzahleinbrüche bei G007 im AVCS-Mode - KAL (Donnerstag 29.03.2007)
    Call of Duty - James Hetfield (Dienstag 27.09.2005)