马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 BaysideLizard 于 2023-11-14 22:15 编辑 #include <stdio.h>
//DNX写于2023年11月1日
int main()
{
printf("指向常变量的指针测试\n");
int num = 123;
const int cnum = 789;//常变量
const int *pc = &cnum;
//cnum = 111;这是不可以的
printf("cnum:%d,&cnum:%p\n",cnum,&cnum);
printf("*pc:%d,pc:%p\n",*pc,pc);
pc = #
printf("cnum:%d,&cnum:%p\n",cnum,&cnum);
printf("*pc:%d,pc:%p\n",*pc,pc);
//*pc = 123;这有也是不可以的
putchar('\n');
/*总结:
--指针可以修改为指向不同的常量;
--指针可以修改为指向不同的变量;
--可以通过解引用来读取不同的变量;
--不可以通过解引用修改指针指向的数据;
*/
printf("指向非常量的常量指针测试\n");
int numm = 321;
const int cnumm = 987;
int * const p = &cnumm;
printf("*p:%d\n",*p);
*p = 111;
printf("*p:%d\n",*p);
//p = &numm;这是不可以的
putchar('\n');
/*总结:
指向非常量的常量指针:
--指针自身不可以被修改;
--指针指向的值可以被修改;
*/
printf("指向常量的常量指针测试\n");
int nummm = 321;
const int cnummm = 987;
const int * const pp = &cnummm;
//*pp = 111;这是不可以的
printf("*pp:%d\n",*pp);
//pp = &nummm;这也是不可以的
putchar('\n');
/*总结:
指向常量的常量指针:
--指针自身不可以被修改;
--指针指向的值也不可以被修改;
*/
printf("指向“指向常量的常量指针”的指针测试\n");
int nummmm = 321;
const int cnummmm = 987;
const int * const ppp = &cnummmm;
const int * const *cppp = &ppp;
printf("cppp:%p,&ppp:%p\n",cppp,&ppp);
printf("*cppp:%p,ppp:%p,&cnummmm:%p\n",*cppp,ppp,&cnummmm);
printf("**cppp:%d,*ppp:%d,&cnummmm:%d\n",**cppp,*ppp,cnummmm);
return 0;
}
运行结果:
指向常变量的指针测试
cnum:789,&cnum:000000000061FDE0
*pc:789,pc:000000000061FDE0
cnum:789,&cnum:000000000061FDE0
*pc:123,pc:000000000061FDE4
指向非常量的常量指针测试
*p:987
*p:111
指向常量的常量指针测试
*pp:987
指向“指向常量的常量指针”的指针测试
cppp:000000000061FDC8,&ppp:000000000061FDC8
*cppp:000000000061FDD4,ppp:000000000061FDD4,&cnummmm:000000000061FDD4
**cppp:987,*ppp:987,&cnummmm:987
Process returned 0 (0x0) execution time : 0.045 s
Press any key to continue.
在FishC学C的第十二天
加油! |