2016-03-22 25 views
-3

İ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; 
+0

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

+1

* İmzasız bir char * değişkenini imzasız bir int ** - One word sorusuna dönüştürmek istiyorum. Niye ya? – PaulMcKenzie

+0

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. –

cevap

1

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.

+0

Cevabınız için teşekkürler. Çalışıyor – Nate

+1

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. –

İlgili konular