void my_cool_function()
{
obj_scene_data scene;
obj_scene_data *scene_ptr = &scene;
parse_obj_scene(scene_ptr, "test.txt");
}
如果可以的话,我为什么要像上面那样创建一个指向局部变量的指针
void my_cool_function()
{
obj_scene_data scene;
parse_obj_scene(&scene, "test.txt");
}
以防万一它是相关的: int parse_obj_scene(obj_scene_data *data_out, char *filename);
最佳答案
在您链接的特定代码中,没有真正的原因。
如果您有一个采用 obj_scene_data **
的函数,那么它在功能上可能是必需的。您不能执行 &&scene
,因此您必须在传递地址之前创建一个局部变量。
关于c - 为堆栈上的变量声明指针有什么意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2977222/