Указатель типа 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...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.455 из 5
Похожие ответы