Re: anfaengerfrage zu pointern
- From: "Ingo Menger" <quetzalcotl@xxxxxxxxxxxxxx>
- Date: 26 Jan 2006 02:15:45 -0800
Erich Fruehstueck schrieb:
> "Ingo Menger" <quetzalcotl@xxxxxxxxxxxxxx> wrote:
>
>
> Soweit ich dich richtig verstehe, ist also in dem Code
>
> static int x = 0;
>
> int get_sum (int s);
> {
> x += s;
> return x;
> }
>
>
> die Variable x für Dich global?
> Und ich dachte bisher, Du meinst damit nur Variablen mit externer Bendung.
> So kann man sich mißverstehen. Sorry, aber das widerspricht meinem Empfinden
> für "global".
Nun, dies da oben ist natürlich ein minimaler Extremfall.
Es könnten aber hunderte Funktionen im selben File stehen, die alle
auf x zugreifen.
Und da ist die Situation dann nicht viel besser als wenn es hundert
zusätzliche Files mit je einer Funktion gibt, die alle auf "extern int
x" zugreifen.
> > Möchtest Du behaupten, daß die Variable, auf die stdout verweist,
> > nicht global ist, weil Du sie nicht vor
> >
> > #include <stdio.h>
> >
> > verwenden kannst?
>
> stdout ist keine Variable, sondern ein Makro.
Siehst Du, und deshalb schrieb ich auch "die Variable, auf die stdout
verweist" (noch genauer: auf die der Zeiger, zu dem [die Ersetzung von]
stdout evaluiert, verweist)
Ich wiederhole also die Frage.
> > Mitnichten. Es gibt in C die Gefahren nichtlokaler Variablen, die es
> > auch in allen anderen Sprachen gibt. Darüber hinaus gibt es noch
> > spezielle Gefahren, die auftreten, wenn ich nicht "static" verwende.
>
> Mit deiner Begrifflichkeit schmeist Du dann die durchaus unterschiedlichen
> Gefahren in einen Topf. Das halte ich nicht für gut.
Ich finde das nicht. Ich sehe es immer unter dem Aspekt, daß jemand
die Problematik der "globalen Variablen" aus anderen
Programmiersprachen kennt.
Wenn z.B. jemand von PASCAL kommt, dann muß man ihm nur noch die
zusätzlichen Probleme erklären, die durch das Vorhandensein mehrerer
Übersetzungseinheiten hinzukommen.
> Du wirst mit dieser Definition von "globalen Variablen" nur Mißverständnisse
> ernten. Nie und nimmer wäre ich auf die Idee gekommen, Variablen mit
> interner Bindung darunter zu verstehen.
Ich gebe zu, daß mein Verständnis vielleicht etwas weit ist.
Umgekehrt wäre der Ratschlag: "Nimm immer static, dann hast du keine
Probleme mit globalen Variablen." eben auch irreführend.
.
- References:
- anfaengerfrage zu pointern
- From: Andreas Leppert
- Re: anfaengerfrage zu pointern
- From: Andreas Burmester
- Re: anfaengerfrage zu pointern
- From: Andreas Leppert
- Re: anfaengerfrage zu pointern
- From: Claudio Carobolante
- Re: anfaengerfrage zu pointern
- From: Claus Reibenstein
- Re: anfaengerfrage zu pointern
- From: Claudio Carobolante
- Re: anfaengerfrage zu pointern
- From: R.Freitag
- Re: anfaengerfrage zu pointern
- From: Andreas Burmester
- Re: anfaengerfrage zu pointern
- From: Ingo Menger
- Re: anfaengerfrage zu pointern
- From: Rainer Weikusat
- Re: anfaengerfrage zu pointern
- From: Ingo Menger
- Re: anfaengerfrage zu pointern
- From: Ingo Menger
- Re: anfaengerfrage zu pointern
- From: Erich Fruehstueck
- Re: anfaengerfrage zu pointern
- From: Ingo Menger
- Re: anfaengerfrage zu pointern
- From: Erich Fruehstueck
- Re: anfaengerfrage zu pointern
- From: Ingo Menger
- Re: anfaengerfrage zu pointern
- From: Erich Fruehstueck
- anfaengerfrage zu pointern
- Prev by Date: Re: Frage zu free und verschachtelten structs
- Next by Date: Re: Frage zu free und verschachtelten structs
- Previous by thread: Re: anfaengerfrage zu pointern
- Next by thread: Re: anfaengerfrage zu pointern
- Index(es):
Relevant Pages
|
Loading