首页 > 其他 > 详细

const修饰的指针类型

时间:2020-08-22 18:34:12      阅读:59      评论:0      收藏:0      [点我收藏+]

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>

 

int main01()

{

//常量

  const int a=10;

  //a=100;//err不能修改

//通过指针间接修改常量的值

  int*p=&a;

  *p=100;

  printf("%d\n",a);

  printf("%d\n",*p);

  return 0;

//结果

技术分享图片

}

 

int main02()

{

//const修饰指针类型,可以修改指针变量的值,不可以修改指向内存空间的值(const紧挨谁则不能修改谁)

  int a=10;

  int b=20;

  const int*p=&a;

  //*p=100;//err

  p=&b;

  printf("%d\n",*p);

  return 0;

//结果

技术分享图片

}

 

int main03()

{

//const修饰指针变量:可以修改指针指向内存空间的值,不可以修改指针变量的值(const紧挨谁则不能修改谁)

  int a=10;

  int b=20;

  int*const p=&a;

  //p=&b;//err

  *p=20;

  printf("%d\n",*a);

  return 0;

//结果

技术分享图片

}

 

int main04()

{

//const修饰指针类型,修饰指针变量

  int a=10;

  int b=20;

//只读指针;一级指针存储普通变量a的值

  const int* const p=&a;

  //*p = 100;//err

  //p = &b;//err

//通过二级指针指向一级指针对应的空间,存储一级指针p的值;再通过二级指针可以间接修改一级指针的值,也可以修改一级指针指向内存空间的值

  int**pp=&p;

//通过二级指针里的一级指针,修改对应内存空间的值

  * pp=&b;

  printf("%d\n",*p);

 

//修改一级指针对应的内存空间的值

  **pp=100;

  printf("%d\n",*p);

  

  return 0;

//结果   

技术分享图片

 

 

 

技术分享图片

 

 

 

}

const修饰的指针类型

原文:https://www.cnblogs.com/wanghong19991213/p/13546340.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!