Stavo solo giocando con i puntatori e gli array quando mi sono confuso con questo pezzo di codice con cui stavo testando.C++ operatore e commerciale con array di carri
#include <iostream>
using namespace std;
int main(void) {
char a[] = "hello";
cout << &a[0] << endl;
char b[] = {'h', 'e', 'l', 'l', 'o', '\0'};
cout << &b[0] << endl;
int c[] = {1, 2, 3};
cout << &c[0] << endl;
return 0;
}
Mi aspettavo che questo sarebbe stampare tre indirizzi (quello di un [0], b [0] c [0]). Ma il risultato è stato:
hello
hello
0x7fff1f4ce780
Perché è che per i primi due casi con char, '&' dà l'intera stringa o mi manca qualcosa qui?