volatile
-
Auf das der zeiger zeigt habe ich aber nicht volatile deklariert.
-
Sisko schrieb:
Ist hier x volatile oder nur der zeiger?
fricky schrieb:
^^ das, worauf der zeiger zeigt, ist 'volatile'
Sisko schrieb:
Auf das der zeiger zeigt habe ich aber nicht volatile deklariert.
ist der himmel blau oder rot? er ist blau. aber ich habe doch gesagt er soll rot sein.
:|
-
Gibts dann einen volatilen Zeiger?
-
int volatile * volatile x;
edit: hier ist jetzt alles volatile
-
volatile
verhält sich als Spezifizierer wieconst
, die Syntax ist also gleich.
-
volatile int* volatile x;
so oder?
-
Sisko schrieb:
volatile int* volatile x;
so oder?Dieser Satz kein Inhalt? WAS so?
"So hat die Definition dieselbe Bedeutung wie die von sothis_ gepostete"? Dann: ja.
-
Ich dachte das von sothis_
ist ein Tippfehler. Anscheinend gibt es zwei Schreibweisen
-
Sisko schrieb:
Ich dachte das von sothis_
ist ein Tippfehler. Anscheinend gibt es zwei SchreibweisenNe, nur gibt das verschiedene Dinge an, die volatile sein sollen. Das eine sagt, der Zeiger soll volatile sein, das andere sagt, das "Bezeigte" soll volatile sein. Und so wie es sothis geschrieben hat, ist beides volatile.
-
die beiden schreibweisen (volatile int* und int volatile*) sollten tatsächlich wie bei const auch, äquivalent sein.
die frage, die ich mir hier schon eine ganze weile stelle: wozu zum geier braucht man einen volatilen zeiger auf ein volatiles int?
-
Ich wollte nur wissen ob es einen volatilen Zeiger gibt.
Brauche nur den volatilen Wert.
--------------
Was passiert hier mit meinen volatilen Wert?void func2(int* x) { *x = 1; // Volatile oder nicht? } void func1(volatile int* x){ func2(x); } int main() { int x; func1(&x); }
Hab mal selber ein bischen überlegt bin mir aber nicht sicher:
Sobald man aus func2 zurückkehrt wird der Wert aus dem Cache in
den RAM geschrieben? Innerhalb von func2 kann der Wert noch gecached sein.
-
Kompilier es doch mal, und schau was passiert
volatile ist wie const, du kannst es zwar "hinzufügen" aber nicht mehr "wegnehmen".
-
Auf das Kompilieren hätte ich auch drauf kommen können.
Jetzt ist mir alles klar. Danke für eure Antworten