我正在尝试将我的目录路径名放在一个字符串变量上,如下所示:
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]