Указатель типа 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...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д