|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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的第十二天
加油! |
|