typedef const struct PWM_Interf{

        void (*PWM_GpionInit)(void);
        void (*PWM_TimerInit)(void);
        void (*PWM_RunPattern)(TEST_PATTERN *p_test_pattern);

    }PWM_Interf;

    PWM_Interf *PWM_GetInterf(void)
    {
        const PWM_Interf pwm_interface ={
            PWM_GpioInit,
            PWM_TimerInit,
            PWM_RunPattern,
        };

        return &pwm_interface;
    }

编译这段代码出现警告信息:returning pointer to local variable

这是为什么呢?


When returning a pointer from a function, do not return a pointer that points to a value that is local to the function or that is a pointer to a function argument. Pointers to local variables become invalid when the function exits. In the above function, the value returned points to a static variable. Returning a pointer to dynamically allocated memory is also valid.

GitHub 加速计划 / ar / Aria
5.52 K
860
下载
下载可以很简单
最近提交(Master分支:1 个月前 )
b0d3c6dd - 3 个月前
8fd9634d - 3 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐