【发布时间】:2014-03-25 01:11:10
【问题描述】:
我正在尝试将我的目录路径名放在一个字符串变量上,如下所示:
int main(int ac, char **av)
{
char*dir;
if(ac > 2)
{
dir = malloc(sizeof(*dir) * 512);
getcwd(dir, sizeof(*dir));
printf("dat dir is:\n");
printf("%s\n", dir);
}
}
我打印了一个空白,但是当我这样做时
int main(int ac, char **av)
{
char dir[512];
if(ac > 2)
{
// dir = malloc(sizeof(dir) * 512);
getcwd(dir, sizeof(dir));
printf("dat dir is:\n");
printf("%s\n", dir);
}
}
打印正确,为什么?我的第一个 malloc 不是应该让我的变量像 dir[512]
【问题讨论】: