如何在C语言中使用const关键字-创新互联-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

如何在C语言中使用const关键字-创新互联

如何在C语言中使用const关键字?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

创新互联公司主要从事成都做网站、网站制作、成都外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务丰泽,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

我们先定义三个变量

1、const int *p1
2、int const *p2
3、int *const p3
p1、p2、p3这三个指针都是指向int类型的,那它们有什么区别呢

写个代码测试一下


如何在C语言中使用const关键字

编译一下


如何在C语言中使用const关键字

可看到第11,12,16行报错,从中可得出以下结论:

const int * 与 int const *是一样的效果,指向的内存是不能改变的,即指针指向的内容是只读的,或者说是一个常量。不过指向的位置是可以更改的,即p1和p2可以重新指向别的常量。

而char *const 刚好相反,表示指针的内容是只读的,即指针指向的位置是不可修改的,但是指针指向的内存是可读可写的。

如果指向的内存和位置都是不能改的呢?

哈哈哈,肯定都能想到,

int *const const pointer 与 const int *const pointer 都是可以的。

那如果const和typedef一起用会怎么样?

//先定义个新类型
typedef int *intp;
const intp p1;
intp const p2;

p1和p2,哪个指向的位置不能变,哪个指向的内存不能变呢?

答案是:p1和p2是一样的,都是指向的位置不能变,即如果指向了a,就不能再指向b。

所以如果想指向的内容不能变,就不能用typedef来定义新类型了。
下面是验证代码和编译结果


如何在C语言中使用const关键字

如何在C语言中使用const关键字

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联网站建设公司行业资讯频道,感谢您对创新互联建站的支持。

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、建站服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:如何在C语言中使用const关键字-创新互联
转载注明:http://kswsj.cn/article/pogos.html

其他资讯