Bir C veri tipini bir değişkene depolamak mümkün mü? BöyleBir C veri tipini değişkende depolamak mümkün mü?
şey: Burada
void* type = (byte*);
ben bağlı bir test vakası yazmış ve printf kullanılmak üzere belirli veri türleri kullanarak bir bayt dizisi yazdırmak çalışan bir senaryo olduğunu Parametreler:
void print_byteArray(const void* expected, size_t size,
bool asChars, bool asWCharT) {
int iterations;
char* format;
if (asChars) {
iterations = (size/(sizeof (char)));
format = "%c";
} else if (asWCharT) {
iterations = (size/(sizeof (wchar_t)));
format = "%lc";
} else {
iterations = (size/(sizeof (byte)));
format = "%x";
}
int i;
for (i = 0; i < iterations; i++) {
if (asChars) {
printf(format, ((char*) expected)[i]);
} else if (asWCharT) {
printf(format, ((wchar_t*) expected)[i]);
} else {
printf(format, ((byte*) expected)[i]);
}
}
fflush(stdout);
}
Verimsiz kod gibi görünüyor. Hayal ediyorum bu bir could boyutu aşağı For döngüsü gövdesini tek satıra:
printf(format, ((type) expected)[i]);