Я работал над пробой и как ее часть столкнулся с проблемой следующего типа ...
Для следующего кода
#include<stdio.h>
#include<stdlib.h>
typedef struct sample
{
int a;
char b;
}sample;
int main()
{
char *buf;
buf = (char *)malloc(sizeof(char)*sizeof(sample));
buf = ((sample *) buf);
buf->a = 10;
buf->b = 'm';
printf("%d\n",(buf)->a);
printf("%c\n",(buf)->b);
return 0;
}
Ошибка времени компиляции:
example.c: 16: ошибка: запрос на член a' in something not a structure or union
example.c:17: error: request for member
b 'в чем-то, не являющемся структурой или объединением
Это потому, что я не могу типизировать более низкий тип данных к более высокому типу ..??
Я попытался использовать Calloc вместо malloc, чтобы можно было выделить блок смежных операций, но безрезультатно.
Помогите мне найти логический недостаток в этом преобразовании ...
Заранее спасибо