LINUX.ORG.RU

Указателей массив на разные типы данных.

 ,


1

1

Голова не варит, поэтому прошу подумать за место моего мозга.

Нужно вот это:


#include <stdio.h>
#include <stdlib.h>

int main()
{

int  num=555;
char str[]="hello";

void * mass[10];

  mass[0]=(int  *)&num;
  mass[1]=(char *)&str;

/**
Всё понятно, дальше отдаём куда хотим определяя тип
*/

//printf("%s\n",(*(char *)mass[1]));//так не работает
  printf("%c\n",(*(char *)mass[1]));//так работает
  printf("%d\n",(*(int  *)mass[0]));

/**
Думаю вопрос понятен.Как отдать строку, а не символ.
*/
 
  return 0;
};

Решение:


printf("%s\n",(char *)mass[1]);

★★★★★

Последнее исправление: Dron (всего исправлений: 2)

Ответ на: комментарий от ziemin

Убери одно разыменование, ведь *строка это как раз и есть символ

Спасибо господин хороший.

Dron ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.