二重指针:结构体指针的指针A** b,其成员变量的调用

来源:互联网 发布:mac os x 百度云盘 编辑:程序博客网 时间:2024/06/06 14:07

在看ffmpeg工程的时候,需要调用输出一个变量码率,然而这个变量“隐藏”的特别深,其中涉及到二重指针,部分代码如下:

int main(int argc, char* argv[]){//....    AVFormatContext *pFormatCtx;    printf("frame rate:%d\n",pFormatCtx->streams[videoindex]->r_frame_rate.num);//...           return 0;}typedef struct AVFormatContext {       AVStream **streams;//二重指针};typedef struct AVStream {          AVRational r_frame_rate;};typedef struct AVRational {          int num;//rate};

在最初调用的时候,没有加上[videoindex],导致调用错误,最后发现某处为二重指针。此处的二重指针可以看作指向一个内部元素为结构体指针AVStream *的数组的指针:
调用结构示意图

实际上我们接触的最简单的二重指针就是二维数组。

1 0
原创粉丝点击