Указатель типа void - пояснить несколько строк кода - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ну вот вроде разобрался с указателями и начал разбираться с указателями типа void и сразу же засада. WTF это *((int*)p) = 20; или вот это *((char*)p) и вот еще floatPtr = (float*)p;??? В сети нашел пример на использование указателей типа void. Думаю ладно перепишу, скомпилирую, поюзаю туда сюда да разберусь, но не тут то было. Может кто-нибудь объяснит, что творится в строках 11, 15, и 18. Либо посоветует какую тему сперава подучить, чтобы к этому более плавно подойти.
Листинг программы
  1. #include<stdio.h>
  2. int main(){
  3. void *p = NULL;
  4. int intVar =10;
  5. char charVar = 'A';
  6. float floatVar = 24.3;
  7. float *floatPtr = NULL;
  8. p = &intVar;
  9. *((int*)p) = 20;
  10. printf("intVar = %d\n", intVar);
  11. p = &charVar;
  12. printf("charVar = %c\n", *((char*)p));
  13. p = &floatVar;
  14. floatPtr = (float*)p;
  15. printf("floatVar = %.3f\n", *floatPtr);
  16. return 0;
  17. }

Решение задачи: «Указатель типа void - пояснить несколько строк кода»

textual
Листинг программы
  1.    // some code here...
  2.    (void)Foo();
  3.    // more code here...

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


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

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

11   голосов , оценка 4.455 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы