指向常量的指针和常量指针的区别简单理解
指向常量的指针和常量指针的区别简单理解 1.指向常量的指针:常量是对于值的,而不是对于指针,所以如果试图通过指针取值改变 值时,会报错。但可以改变指针,让指针指向其他变量的指针。 2.常量指针:常量是对于指针的,所以指针一旦指向了某个变量的指针,就不能再指向 其他的变量指针。但值是可以改变的。#include <stdio.h>
int main(void) {
int n = 10;
int m = 12;
int k = 13;
int h = 14;
//***********************************************
/*测试指向常量的指针*/
/*声明一个指向常量的指针,指针指向整型*/
const int *pn = NULL;
pn = &n;
printf("value = %d\n", *pn);
/*试图通过指针取值改变n的值,报错*/
/* *pn = 11; */
/*改变指向,成功*/
pn = &m;
printf("value = %d\n", *pn);
//*************************************************
/*声明一个常量指针, 并给指针指向变量的地址*/
int *const pk = &k;
printf("pk1 = %d\n", k);
/*试图改变指针指向的地址,报错*/
/* pk = &h; */
/*可以改变指针指向的值*/
*pk = 18;
printf("pk2 = %d\n", k);
return 0;
}

浙公网安备 33010602011771号