/*
常量:是一个不可改变的量。
常量指针: 把指针做为一个常量,这时候指针(内存地址)做为一个常量,这个内存地址不能被改变,但是指针(内存地址)里存储的值可以改变。
指针常量: 指针指向一个常量的内存地址,这个内存空间里存储的值是常量而不能被改变,但是指针(内存地址)可以改变,它可以指向另一个内存地址。
*/
#include <stdio.h>
int main(void)
{
int value_one=100;
int value_two=1000;
int const *p_one = &value_one; //定义指针常量
int *const p_two = &value_two; //定义常量指针
*p_one = 2000; //这种用法错误,*p_one的内存地址里存放的是常量value_one的值 100,这个值不可以改变。
p_one = &value_two; //这种用法可以,它改变p_one指向的内存地址,使它指向了value_two的内存地址。
*p_two = 2000; //这种用法可以,它改变了p_two所指向的内存里的值。
p_two = &value_one; //这种用法错误,p_two做为常量指针,它的内存地址不能改变。
return 0;
}
常量:是一个不可改变的量。
常量指针: 把指针做为一个常量,这时候指针(内存地址)做为一个常量,这个内存地址不能被改变,但是指针(内存地址)里存储的值可以改变。
指针常量: 指针指向一个常量的内存地址,这个内存空间里存储的值是常量而不能被改变,但是指针(内存地址)可以改变,它可以指向另一个内存地址。
*/
#include <stdio.h>
int main(void)
{
int value_one=100;
int value_two=1000;
int const *p_one = &value_one; //定义指针常量
int *const p_two = &value_two; //定义常量指针
*p_one = 2000; //这种用法错误,*p_one的内存地址里存放的是常量value_one的值 100,这个值不可以改变。
p_one = &value_two; //这种用法可以,它改变p_one指向的内存地址,使它指向了value_two的内存地址。
*p_two = 2000; //这种用法可以,它改变了p_two所指向的内存里的值。
p_two = &value_one; //这种用法错误,p_two做为常量指针,它的内存地址不能改变。
return 0;
}