bekommen Um zu verstehen Unterschied zwischen "String" und 'c' Charakter in C. Versuchen Sie diesen Code:
#include <stdio.h>
int main(){
/* Usual way */
char *a = "A";
char *b = "B";
char *c = "C";
printf("Address of a = 0x%x\n",a);
printf("Address of b = 0x%x\n",b);
printf("Address of c = 0x%x\n",c);
/* Explicit way - Because you asked above question */
printf("This is Base Address of String A = 0x%x\n","A");
printf("This is Base Address of string B = 0x%x\n","B");
printf("This is Base Address of string C = 0x%x\n","C");
/* Now, let us print content - The usual way */
printf("Pointer value a has %x\n",*a);
printf("Pointer value b has %x\n",*b);
printf("Pointer value c has %x\n",*c);
/* The unusual way */
printf("Value of String A %x\n",*"A");
printf("Value of String B %x\n",*"B");
printf("Value of String C %x\n",*"C");
}
Die oben Der Code erzeugt eine Compiler-Warnung, weil char * als unsigned int formatiert ist, aber ignoriert es einfach, um das Beispiel zu verstehen.
Der Ausgang würde aussehen wie folgt:
Address of a = 0xedfce4a
Address of b = 0xedfce4c
Address of c = 0xedfce4e
This is Base Address of String A = 0xedfce4a
This is Base Address of string B = 0xedfce4c
This is Base Address of string C = 0xedfce4e
Pointer value a has 41
Pointer value b has 42
Pointer value c has 43
Value of String A 41
Value of String B 42
Value of String C 43
Was erwarten Sie 'heap [i] =" AAA "zu tun? '" AAA "' ist kein 'unsigned char'. – Ryan
Wo soll ich anfangen? Dein Compiler sollte vor 'heap [i] =" AAA "warnen;' - du versuchst, einem 'unsigned char' ein' char * 'zuzuweisen. Das zeigt, dass Sie ein Problem haben. Sie versuchen, 'heap [i]' als Zeiger zu drucken, aber es ist kein Zeiger, es ist ein 'unsigned char'. Sie können es sich nicht leisten, Warnungen zu ignorieren, die Ihr Compiler Ihnen gibt - in diesem Stadium Ihrer Karriere sind das alles Fehler in Ihrem Code (oder Ihrem Verständnis des Codes). Auch später sind sie Fehler; Sie werden keine Fragen mehr zu SO mehr auslösen. –
War es sinnvoll, in diesem Post "byte_array" zu behalten? – WhozCraig