C语言怎么让自己写的程序更加健壮

C语言怎么让自己写的程序更加健壮

很多时候我们希望一个值不被自己不小心改变,为了满足这一要求,可以使用const关键字对变量加以限定。

在C语言中加了const代表着”不可变“,基本和常量一样不可修改,但是应用场景不一样。

以下就是怎么使用const修饰变量的方法。

const int max = 10;

或者

int const max = 10;

之后我们改变max的值,编译器都会报错。

我们也可以使用const修饰指针,让它变成常量指针。

int const *p;

const int *p;

这上面的两种方法其实是可以改变指针p的指向的,也就是p本身的值可以改变,但是p所指向的变量内容不可以改变。大家不妨可以试试。那么怎么让指针不可以更改指向呢?应该用以下定义。

int * const p;

这个时候const修饰的也就是p本身,注意p是不允许改变内容的,自然也就不可以更改指向了。那么问题来了。它所指向变量的内容又可以改变。。。。。想不到吧,当然也有解决方法。看下面。

const int * const p;int const * const p;

相信你们那么聪明应该理解了。

函数传参的时候,这时const会出奇的好用。比如不希望值在函数内被改变,这时我们可以值形参列表里面加上const。这样也可以明确的告诉使用者,这个函数并不会改变内给它的值。

这里希望大家要记住,const char *和char *是不同的类型,不能将const char *类型的数据赋值给char *类型的变量。但反过来是可以的,编译器允许将char *类型的数据赋值给const char *类型的变量。

这种限制很容易理解,char *指向的数据有读取和写入权限,而const char *指向的数据只有读取权限,降低数据的权限不会带来任何问题,但提升数据的权限就有可能发生危险。

文章到这里就结束了,另外大家如果想学习c语言或者c++关注后私信发送“c语言”或者“c++”获取群号。可领取学习资料,和大家一起学习交流,或有免费直播讲解cc++,和帮助答疑。到这里大家应该知道怎么用了吧。还不太懂的话,拿代码去研究研究。还不懂的可以加群问我。学习愉快。

觉得我文章还可以的可以关注,转发,收藏,评论。 拜拜

C语言怎么让自己写的程序更加健壮


分享到:


相關文章: