当我们取消引用FILE指针时会发生什么?

abh*_*k_M 0 c pointers

假设我有一个文件指针

FILE* infile = fopen("<somefilepath", "r");
Run Code Online (Sandbox Code Playgroud)

现在,当我取消引用gdb中的文件指针时,我得到

打印* infile

?$ 2 = {_flags = -72539000,_IO_read_ptr =为0x0,_IO_read_end =为0x0,
?_IO_read_base =为0x0,_IO_write_base =为0x0,_IO_write_ptr =为0x0,
?_IO_write_end =为0x0,_IO_buf_base =为0x0,_IO_buf_end =为0x0,
?_IO_save_base = 0x0,_IO_backup_base = 0x0,_IO_save_end = 0x0,_markers = 0x0 、
? _chain = 0x7ffff7dd41c0 <_IO_2_1_stderr _>,_ fileno = 3,_flags2 = 0 ,
?_old_offset = 0,_cur_column = 0,_vtable_offset = 0'\ 000',_ shortbuf =“”,
?_lock = 0x6020f0,_offset = -1,__pad1 =为0x0,__pad2 = 0x602100,__pad3 =为0x0,
?__pad4 = 0x0,__ pad5 = 0,_mode = 0,_unused2 ='\ 000'}

有人可以帮助我理解这是什么意思吗?

mar*_*ark 5

FILE * 应该被认为是一个不透明的值...取消引用将取决于平台/库(因此不可移植)。