我工作的一個概率,並作爲它的一部分遇到了follwing類型的問題...鑄字字符的結構類型
對於FOLL代碼
#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」不是一個結構或聯合
這是因爲我不能強制轉換的較低數據類型到h更高的類型.. ??
我想提前
到位的malloc使用釋放calloc使得contiguos塊可分配,但無濟於事..幫我看看這個轉換的邏輯缺陷...
謝謝
固定格式爲您使用4個空格的縮進代碼。 – wich 2011-01-20 09:58:30