Die Funktion druckt die Adressen der einzelnen Speicherstelle des dynamischen Arrays. Ist das der richtige Weg?Wie Speicheradressen von C-String auszudrucken?
int main()
{
char str[] = "This is a test";
printAddresses(str, strlen(str));
}
template <class type>
void printAddresses(type *item, int n)
{
cout << "Printing Addresses..." << endl;
for (int i = 0; i < n; i++)
{
cout << "Index " << i << ": " << ((&item) + i) << endl;
}
}
Ich habe auch gehört, dass ich verwenden sollte:
cout << "Index " << i << ": " << (void*) &item[i] << endl;
aber das gibt mir verschiedene Speicheradresse. Ich bin mir nicht sicher, welcher richtig ist.
Cast 'void *' um die Adresse auszudrucken. –
Brechen Sie mit dem Debugger und sehen. – zmbq
'cout <<" Index "<< i <<": "<< (void *) ((& item [i])) << endl;' –