如果我有一个主要功能,如:
int main(int argc, char* argv[])
{
return 0;
}
是否需要解除分配argv?我们可以解除分配argv吗?我们应该解除分配argv吗?
答案 0 :(得分:8)
是否需要解除分配argv?
没有
我们可以解除分配argv吗?
没有。虽然在语法上被接受,但这会导致未定义的行为(可能是运行时错误)。 argv
指针数组的内存管理强制操作系统(ABI绑定),它管理进程入口点(main()
)而不是main()
客户端定义。
我们应该解除分配argv吗?
不,你没有分配它,所以你不需要解除分配。
答案 1 :(得分:6)
简单概念:如果你没有分配,你也不需要免费。 :))
答案 2 :(得分:2)
不,不是必需的。是的,你可以 - 就像'我能从特朗普大厦直接跳到地上吗?'。不,你不应该。