Tag: 最后

如何在C中指定变量为final?

我知道可以使用#define宏声明常量。 有了这个,将整数,浮点或字符文字定义为常量会很简单。 但是,对于更复杂的数据结构,例如数组或结构,比如说: typedef struct { int name; char* phone_number; } person; 我希望能够初始化一次,然后使它成为一个不可编辑的结构。 在面向对象的语言中,存在final关键字,可以很容易地做到这一点,但在C中没有这样的事情。我想到的一个解决方法是使用setjmp和longjmp来模拟try-catch括号并在更改时进行回滚被检测到。 您需要将备份存储在文件/内存对象中,如果您想要保护许多此类对象以防止意外更改,则可能会产生一些混乱。 问:有可能在C中有效地表示这种模式吗? 如果是,怎么办?