Di solito quando si dichiara un puntatore (come ad esempio un int) che avrebbe dovuto assegnare un indirizzo di memoria ad esso:Perché è possibile assegnare un array a un puntatore char?
int value = 123;
int* p = &value;
Quando si crea un puntatore char, è possibile assegnare un array di caratteri ad esso senza il necessità di inserire un indirizzo:
char* c = "Char Array";
Come funziona? Alloca memoria e punta a quello? Perché gli altri puntatori di tipo non possono fare la stessa cosa?
Non è possibile farlo ad esempio: 'char * c = &'a';' –
Si noti che 'char * c =" char array "' non verrà compilato in C++; volevi chiedere di C, invece? – edmz
@Daniel Il compilatore C++ fa schifo se non ti dà almeno un avvertimento. –