Bu kodu vardır: Buradabir dize adresini gösteriliyor
char* hello = "Hello World";
std::cout << "Pointer value = " << hello << std::endl;
std::cout << "Pointer address = " << &hello << std::endl;
Ve sonuç: Ben OllyDbg kullanarak programa hata ayıklama
Pointer value = Hello World
Pointer address = 0012FF74
, görüyorum 0x0012FF74 değeri örneğin 0x00412374.
Gerçek adresi hello
'un yazdırabilmesinin herhangi bir yolu var mı? öyle olacak işaretçisi bir boşluk onu kopartarak, merhaba bir dize (char dizi) gibidir davranacağını sadece kullanılarak:
std::cout << "Pointer address = " << (void*) hello << std::endl;
Sebep: Herhalde bir derleyici ancak aşağıdaki işleri yok
yanı mümkünse biraz açıklama ekleyin. –
"Merhaba", "int" için doğru şekilde hizalanmamışsa, tanımlanmamış davranışa neden olabilir. Void * 'çalışmasına sahip olan versiyonun kullanılmasının herhangi bir nedeni olmadığını göz önünde bulundurun. –