C - 将返回变量设置为const

时间:2017-02-19 11:44:13

标签: c const return-value

我有一个程序,它使用常量结构来表示参数数据(车辆数据,如传输速率,重量等)。

由于程序将用于不同的车型,我想通过调用一个函数来读取txt文件中的参数数据,该函数将结构作为返回值反馈。

是否可以在我的主程序中将结构声明为'const'?我想这样做是为了保证在进展中不对这些结构进行任何改变。

有关详细信息:在代码的基础应用中,参数数据是硬编码的。因此,现在使用常量结构。

1 个答案:

答案 0 :(得分:0)

是的,您可以使用函数的返回值初始化const。但是你不能将返回值赋给const。

示例:

#include <stdio.h>

int foo()
{
    return 42;
}

int main(void) {
    const int g = foo();  // OK for initializing a const
    printf("%d\n", g);
    // g = foo();;    <-- will cause compile error : assignment of read-only variable ‘g’
    return 0;
}