www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "C/C++" - Zeiger
Zeiger < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Zeiger: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 13:05 Sa 23.01.2010
Autor: nana

Hallo, nur eine ganz kleine Frage zu zeigern:
also normalerweise wird ja einem zeiger ein wert (also bzw eine Adresse so zugeordnet:
int* y = & x,
kann man denn auch y eine bel adresse zuordnen (ich weiß dass das keinen sinn machen würde weil man ja nicht weiß was dort abgespeichert ist, aber so könnte man es doch herausfinden, oder? also ich meine das dann so:
int* y = 2004;
cout << *y;

Hoffe das war jetzt keine allzu blöde Frage, danke!!

        
Bezug
Zeiger: Antwort
Status: (Antwort) fertig Status 
Datum: 14:11 Sa 23.01.2010
Autor: Karl_Pech

Hallo nana,


> kann man denn auch y eine bel adresse zuordnen (ich weiß
> dass das keinen sinn machen würde weil man ja nicht weiß
> was dort abgespeichert ist, aber so könnte man es doch
> herausfinden, oder? also ich meine das dann so:
>  int* y = 2004;
>  cout << *y;


Ich denke, daß das vom Compiler abhängt. Unter g++ 3.4.4 wurde bei mir folgender Code akzeptiert:


1: #include <iostream>
2: using namespace std;
3:
4: int main(int argc, char* argv[]) {
5:   int* tst = (int*)2004;
6:   cout << tst;
7:   return 0;
8: }


Die Ausgabe war:


1: $ ./a.exe
2: 0x7d4


Und [mm]\texttt{7d4}_{16}=\texttt{2004}_{10}[/mm]. Allerdings könnte eine Dereferenzierung von tst, also *tst, zu unvorhersehbaren Ergebnissen (bis hin zu einem Programmabsturz) führen, weil du, wie du ja schon selber sagst, nicht weißt, was an der Stelle abgespeichert ist.



Viele Grüße
Karl




Bezug
                
Bezug
Zeiger: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:37 Sa 23.01.2010
Autor: nana

Okay, vielen Dank für deine schnelle Antwort, ich denke ich werde einfach auf solche Zuweisungen verzichten ;) ....
Lg, nana

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]