#include<stdio.h>intmain(){int num =888;constint cnum =666;constint*p =&cnum;//常量指针printf("cnum:%d &cnum:%p\n",cnum,&cnum);printf("*p:%d p:%p\n",*p,p);
p =#printf("num:%d &num:%p\n",num,&num);printf("*p:%d p:%p\n",*p,p);
num =999;printf("num:%d &num:%p\n",num,&num);printf("*p:%d p:%p\n",*p,p);return0;}
#include<stdio.h>intmain(){int num =777;constint cnum =60;int*const p =#//指向常量的指针,指针本身不可改变但是它指向的值可以改变 *p=1024;//指针本身不可改变但是它指向的值可以改变 printf("*p:%d\n",*p);return0;}
#include<stdio.h>intmain(){int num =777;constint cnum =60;int*const p =#//指向常量的指针,指针本身不可改变但是它指向的值可以改变 *p=1024;//指针本身不可改变但是它指向的值可以改变 printf("*p:%d\n",*p);*p=&cnum;printf("*p:%d\n",*p);return0;}
[Warning] assignment makes integer from pointer without a cast [enabled by default]
指向非常量的常量指针
–指针自身不可以被修改
–指针指向的值可以被修改
指向常量的常量指针
–指针自身不可以被修改
–指针指向的值也不可以被修改
#include<stdio.h>intmain(){int num =777;constint cnum =60;constint*const p =#//指向常量的指针,指针本身不可改变但是它指向的值可以改变 *p=1024;//指针本身不可改变但是它指向的值可以改变 printf("*p:%d\n",*p);
p=&cnum;printf("*p:%d\n",*p);return0;}
[Error] assignment of read-only location '*p'[Error] assignment of read-only variable 'p'
#include<stdio.h>intmain(){int num =777;constint cnum =60;constint*const p =#//指向常量的指针,指针本身不可改变但是它指向的值可以改变 //指向常量的常量指针constint*const*pp=&p;//指向 指向常量的指针的指针 的指针 printf("pp:%p &p:%p\n",pp,&p);printf("*pp:%p p:%p &num:%p\n",*pp,p,&num);printf("**pp:%d *p:%d num:%d\n",**pp,*p,num);}