Was ist der Datentyp des Zeigers in c?

7

sind Zeiger auf ganzzahlige oder vorzeichenlose Datentypen?

    
user384636 20.10.2010, 09:19
quelle

6 Antworten

22

Nein. Sie sind Zeiger, deren Größe systemabhängig ist und deren einziger kompatibler Typ void* ist.

    
Ignacio Vazquez-Abrams 20.10.2010, 09:20
quelle
7

Zeiger sind vom Zeigertyp. Wenn Sie sich fragen, wie Zeigerwerte im Speicher dargestellt werden, hängt das wirklich von der Plattform ab. Sie können einfache Integralwerte sein (wie in einem flachen Speichermodell), oder sie können strukturierte Werte wie eine Seitennummer und ein Offset (für ein segmentiertes Modell) sein, oder sie können etwas ganz anderes sein.

    
John Bode 20.10.2010 13:42
quelle
1

In C kann der Zeiger auf die Variablen beliebiger Datentypen zugreifen. Der Zeiger sollte mit dem Datentyp der Variablen deklariert werden, auf die der Zeiger zeigen soll. Um die Adresse des Zeigers im hexadezimalen Format zu drucken, verwenden Sie %p und um die Adresse in anderen Formularen zu drucken, verwenden Sie %u . Wenn der Zeiger zur Anzeige des Werts der Zeigevariablen verwendet werden soll, verwenden Sie *pointer_name und nur für Adresse Verwende pointer_name .

    
Niraj Sangroula 14.03.2017 11:24
quelle
-2

int * p;

Datentyp von * p ist ein Zeiger. Und es zeigt auf Integer-Typ-Variable. Es speichert Adresse im hexadezimalen Format.

    
SANKET RAHANE 17.10.2016 10:46
quelle
-4

Zeiger auf einen beliebigen Datentyp, entweder char / int / float / double / ..., sind nur Ganzzahlen ohne Vorzeichen.

Grund : Da ein Zeiger die Adresse speichert, die ein Ort im Computerspeicher ist, ist es immer positiv, kann nicht negativ sein.

    
Mahesh 13.07.2013 08:06
quelle
-4

Was ist der Datentyp des Zeigers in C? ist die einzigartige Frage.

Man sollte nicht von der Frage abweichen, um irgendwelche Hinweise auf Zeiger als Antwort auf die Frage zu geben?

Antwort.

  1. Wie lautet der Datentypname einer Menge von Intergern in C? Der Name ist int, was der Name der Menge aller zulässigen ganzen Zahlen ist. Daher deklarieren wir int x; wobei x einen beliebigen Wert aus der Menge annehmen kann.

  2. Ähnlich, Was ist der Name der Menge aller zulässigen Adressen oder Zeiger? Der Satzname kann nur das Zeichen '*' sein, wie ich es erfahre, obwohl nirgendwo in den C-Spracherzählungen eine Erklärung zu finden ist.

Daher deklarieren wir die Zeigervariable als * x; Wobei * der Datentypname ist. Ansonsten sollte ein Zeiger-Datentyp betrachtet und unter den benutzerdefinierten Datentyp gebracht werden. Da es alle RAM-Zellen gibt, bildet der Datentyp '*' eine Teilmenge zulässiger und akzelerabler Speicherzellen. Daher ist dies ein Datentyp-Name eines Satzes von Zeigern.

Der int ist der Modifikator wie in signed char c; wo signed ist der Modifikator in C. Wir haben vielleicht int * x; zu meinen, dass Daten in der Position eine ganze Zahl sind, die eine notwendige Information für den Compiler ist.

C spricht über den Zeigerdatentyp als Benutzerdatentyp. Vielleicht ist es falsch, den Zeigerdatentyp als den Benutzerdatentyp zu betrachten, da der Benutzer keine Kontrolle über den Satz von Zeigern in dem Satz hat, wobei das Grundkonzept von int der Satzname, float der Satzname, char ist der Satzname von haracters, double ist der Set-Name von floats mit hochpräzisen Zahlen, color ist der Datentyp name in enum color = {blau, rot, gelb).

    
user2606242 22.07.2013 09:13
quelle

Tags und Links