今天开始看nice.c的时候,和往常一样遇到个初始化:
char const *adjustment_given = NULL;
于是想写个小测试程序,简单测试一下指针常量和常量指针的区别,下面是测试过程:
1、指向常量的指针
int main(void)
{
char const *p;
p = "hello";
p = "hello world!";
printf("p:%s\n",p);
}
这里的p,是一个指向字符常量的指针,它指向的内容不能被更改,但是这个指针本身可以被修改
2、指向常量的常量指针
#include
int main(void)
{
char const * const p = "hello";
//p = "hello";
printf("p:%s\n",p);
}
这里的p指向的变量不能被更改,这个指针也不能被更改,否则会编译时报错:
const.c: In function `main':
const.c:6: error: assignment of read-only variable `p'
3、当然还有指向普通变量的常量指针,道理是一样的,掌握这些概念的核心原则是弄明白const参数是修饰的谁,到底是谁不能被改变
阅读(1410) | 评论(0) | 转发(0) |