我正在尝试编写一个将基本10整数转换为二进制数的函数。与sizeof()函数的结果相混淆
我构造函数是这样的:
void dec2bin(int dec, char * bin);
功能将通过在参数指针的手段二进制结果存储。
char *r1 = (char *)malloc(24);
功能需要做的第一件事是填写了“24位的结果,”与所有零:它如下传递别处声明的变量。它现在很好用,因为我知道“尺寸”的基础上对它进行了编码,但我无法弄清楚如何确定任意“r1”的“尺寸”。我认为使用sizeof函数的每种方式都不会给我24.
我对此感到困惑,并没有连接char,char *等的各个大小之间的关系,以及如何使用这些关系大小来获得我正在寻找的关于“r1”的内容。
有人会介意给我一个指针吗?潘打算。
谢谢!
答案很简单:你不能。 – 2012-02-08 19:42:59
@FredLarson:我同意,你不能。而且,这不是双关。 :-( – Mithrandir 2012-02-08 19:44:26
'malloc'返回一个指针,所以不需要施加'malloc'调用的返回值。 – 2012-02-08 19:45:00