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