(short *)是什麼意思呢?

short *buf;
but = (short *)malloc(sizeof(short)*2000);

請問各位大大
1.(short *)是什麼意思呢?
2.(void *)是什麼意思?
3.為何sizeof(short *)和sizeof(short), 前者為4bytes 後者為2bytes呢
二者有什麼差別,一般都怎麼用,可否請大大舉例為佳?

看了好久,還不是太知道,是什麼意思,煩麻大大們幫忙"詳述"一下,謝謝^^
Update: 如果but = (short *)malloc(sizeof(short)*2000);去掉了(short *)會有什麼影響呢?
Update 2: 我懂了^^~
2 answers 2