C语言中只读指针变量与只读变量指针

简介: C语言中只读指针变量与只读变量指针

只读指针变量和只读变量指针看着好像有点绕;

只读指针变量:意思是只读指针的变量

只读变量指针:只读变量的指针

本文的主角是const关键字

如果我们开发的时候,定义了某个变量,不想让别人修改时,就可以使用“const”关键字。

首先定义两个整型变量

int a = 10;
int b = 20;

普通的指针变量

先来看一下普通的指针变量:

我们定义一个普通的int类型的变量a,并初始化为10;

定义一个int类型的指针变量,指向变量a的地址。

那么打印出来p的值,就是a的值,10;

//普通的指针变量
    int *p = &a;
    printf("%d \n",*p);//10
    //指向数值222
    *p = 222;
    printf("%d \n",*p);//222
    //指向地址b
    p = &b;
    printf("%d \n",*p);//20
  • 可以修改指针变量的值;
  • 也可以修改指针变量的地址;

只读指针变量

//只读指针变量
 //这是一个const指针指向的int类型的变量
 //const指针指向的整型变量
 int *const cp1 = &a;
 *cp1 = 2;//值可以修改
 *cp1 = &b;
 //cp1 = &b; //指针不能修改
  • 值可以修改;
  • 地址不能修改;

只读变量指针

//一个const指针指向的一个const整型的变量
    int const *const ccp;
    //*ccp = 22;//error 不能修改
    //*ccp = &a;//error 不能修改
  • 值不能修改;
  • 地址也不能修改;

所以这个叫只读变量指针。

目录
相关文章
|
15天前
|
安全 C语言
【C语言】如何规避野指针
【C语言】如何规避野指针
20 0
|
17天前
|
C语言
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
C语言:数组和指针笔试题解析(包括一些容易混淆的指针题目)
|
5天前
|
C语言
c语言指针总结
c语言指针总结
12 1
|
11天前
|
存储 程序员 C语言
【C 言专栏】C 语言指针的深度解析
【4月更文挑战第30天】C 语言中的指针是程序设计的关键,它如同一把钥匙,提供直接内存操作的途径。指针是存储其他变量地址的变量,通过声明如`int *ptr`来使用。它们在动态内存分配、函数参数传递及数组操作中发挥重要作用。然而,误用指针可能导致错误,如空指针引用和内存泄漏。理解指针的运算、与数组和函数的关系,以及在结构体中的应用,是成为熟练 C 语言程序员的必经之路。虽然挑战重重,但掌握指针将增强编程效率和灵活性。不断实践和学习,我们将驾驭指针,探索更广阔的编程世界。
|
12天前
|
算法 搜索推荐 程序员
C语言中的函数指针和回调函数
C语言中的函数指针和回调函数
9 2
|
15天前
|
存储 编译器 C语言
【C语言】初步解决指针疑惑
【C语言】初步解决指针疑惑
7 0
|
17天前
|
存储 C语言
指针深入解析(C语言基础)带你走进指针,了解指针
指针深入解析(C语言基础)带你走进指针,了解指针
|
17天前
|
C语言 C++
C语言:指针运算笔试题解析(包括令人费解的指针题目)
C语言:指针运算笔试题解析(包括令人费解的指针题目)
|
2月前
|
C语言
C语言---指针进阶
C语言---指针进阶
20 0
|
5月前
|
C语言
C语言指针进阶(下)
C语言指针进阶(下)
42 1