/*
function:const(定义常量的方法)和指针的结合使用
主要演示 const int *p 和 int * const p;两种定义方式的指针常量的区别
小贴士: #define和const的区别(虽然两个都是定义常量):
1.const定义有类型的常量
2.#define 只定义了一个常数,可以是任意字符串。
*/
#include<stdio.h>
int main(int argc,char *argv[]){
int x=200,y=300;
//用两种不一样的方式定义两个指针常量
const int *p=&x;
int * const q=&y;
printf("x=%d *p=%d\n",x,*p);
printf("y=%d *p=%d\n",y,*q);
/*
不可以间接的用*p改变a的值,但是可以使p指向别的变量
*p=52;
*/
p=&y;
printf("x=%d *p=%d\n",x,*p);
/*
像*q这种定义方式,可以间接的用*q改变变量的值
*/
*q=52;
printf("y=%d *p=%d\n",y,*q);
/* *q这种定义方式不能指向别的变量
q=&x;
printf("y=%d *p=%d\n",y,*q);
*/
return 0;
} |
|