第一种,由编译器来阻止修改const变量的语句,让这种程序不能通过编译;第二种,由操作系统来阻止,即把const 的内存地址访问权限标记为“只读”,一旦运行中的程序试图修改它,就会产生异常,终止进程。上面想到的这两种方式,都能达到让某一变量的值不被修改的目的,那么究竟是哪一种呢?我们写两个例子来看一看。先来看一个简单的例子,源文件const.c:编译,会收到一个 warning:。结合以上两个例子,我们可以得出以下推测:const只是C语言中的一种对变量的修饰符,例子中的a,与其说是“常量”,不如说是“不打算修改的变量”。
暂无评论