İmzasız char * değişkenini imzasız bir int * 'e dönüştürmek istiyorum. çözümleyecek beri buİmzasız char * 'ı imzasız int *' ye dönüştürmek nasıl?
unsigned char *test = 0;
unsigned int *x = test;
İmzasız char * değişkenini imzasız bir int * 'e dönüştürmek istiyorum. çözümleyecek beri buİmzasız char * 'ı imzasız int *' ye dönüştürmek nasıl?
unsigned char *test = 0;
unsigned int *x = test;
gibi bir şey C
unsigned int *x = (unsigned int*)test;
Ama ayı Bu örnekte yararsız olacaktır (ve diğer örnekte Aklıma) akılda olacak bir döküm kullanın işaretçi size 1, 3 veya 7 bayt tanımlı olmayan bellek verir.
char
ürününü unsigned int
numaralı telefona tanıtmak isterseniz, önce onu bir unsigned int
olarak saklamanız veya yığına kopyalamanız gerekir.
Cevabınız için teşekkürler. Çalışıyor – Nate
Peki, "kabul et" öyleyse, lütfen: bu şekilde burada nasıl teşekkür edersin. Fakat 'test' değeri 'NULL' olduğundan anlamsız görünüyor. –
C ve C++ farklı dillerdir. Bir tane seç! Ve asıl sorun nedir? İşaretçi türünün basit bir dökümü veya dönüştürülmesi sorunlu olabilir. – Olaf
* İmzasız bir char * değişkenini imzasız bir int ** - One word sorusuna dönüştürmek istiyorum. Niye ya? – PaulMcKenzie
Basit imzalı - imzasız int * x = (imzasız int *) testiyle 'imzasız char *' 'int *' dönüştürebilirsiniz. Ama büyük ihtimalle başarmak istediğin şey değil. 'X' işaretçi atlatma üzerinde çöp alacaksınız. Yani, soru tam olarak ne yapmaya çalıştığınızdır. –