Указатель типа void - пояснить несколько строк кода - C (СИ)
Формулировка задачи:
Ну вот вроде разобрался с указателями и начал разбираться с указателями типа void и сразу же засада. WTF это *((int*)p) = 20; или вот это *((char*)p) и вот еще floatPtr = (float*)p;???
В сети нашел пример на использование указателей типа void. Думаю ладно перепишу, скомпилирую, поюзаю туда сюда да разберусь, но не тут то было.
Может кто-нибудь объяснит, что творится в строках 11, 15, и 18. Либо посоветует какую тему сперава подучить, чтобы к этому более плавно подойти.
#include<stdio.h>
int main(){
void *p = NULL;
int intVar =10;
char charVar = 'A';
float floatVar = 24.3;
float *floatPtr = NULL;
p = &intVar;
*((int*)p) = 20;
printf("intVar = %d\n", intVar);
p = &charVar;
printf("charVar = %c\n", *((char*)p));
p = &floatVar;
floatPtr = (float*)p;
printf("floatVar = %.3f\n", *floatPtr);
return 0;
}Решение задачи: «Указатель типа void - пояснить несколько строк кода»
textual
Листинг программы
// some code here... (void)Foo(); // more code here...