首页 > 其他分享 >常量指针与指针常量

常量指针与指针常量

时间:2024-09-02 18:50:44浏览次数:12  
标签:10 const 常量 指向 int 指针

1.常量指针

当const修饰指针时,我们称其为常量指针

特点:指针指向地址可以改,指针指向的值不可更改

语法:const 数据类型 * 指针变量名

记忆方法:常量指针为常量的指针,重点在常量上,常量为不可更改的值,但地址可改

例子

int a = 10;
int b = 10;
const int* p = &a;
//指针指向的值不可改,指针指向地址可以改
*p = 20; //不可修改其指针指向的值,所以错误
p = &b; //修改指针地址

2.指针常量

当const修饰常量时,我们称之为指针常量

特点:指针指向地址不可更改,指针指向的值可以改

语法: 数据类型 * const 指针变量名

记忆方法:指针常量为指针的常量,重点在指针上,指针为地址,因此指针指向的不可更改,该指针指向的值可更改

例子

//2.const修饰常量   指针常量
int a = 10,b = 10;
int* const p2 = &a;
//指针指向的值可以改,指针指向的地址不可以改
*p2 = 20;//修改了指针指向的值
p2 = &b; //不可修改指针指向地址,错误

还有第三种

const既修饰指针,又修饰常量

从而既不能改变指针指向地址,也不能改变指针指向的值

例子

//3.const修饰指针和常量
int a = 10,b = 10;
const int* const p3 = &a;
//指针的指向和指针指向的值都不可修改
// * p = 100;//错误
//p3 = &b; //错误

标签:10,const,常量,指向,int,指针
From: https://blog.csdn.net/xxjiaz/article/details/141826737

相关文章

  • C语言指针(进阶内容)
    目录1.指针的基本概念:2.不同类型的指针的意义是什么?3.野指针是什么?4.指针加减整数 5.指针运算(指针-指针)6.一级指针和二级指针以及多级指针是什么意思?7.指针数组8.数组指针9.函数指针1.指针的基本概念:1.指针就是个变量,用来存放地址,地址唯一标识一块内存空......
  • 33. 指针和函数
    1函数形参改变实参的值#include<stdio.h>voidswap1(intx,inty){ inttmp; tmp=x; x=y; y=tmp; printf("x=%d,y=%d\n",x,y);}voidswap2(int*x,int*y){ inttmp; tmp=*x; *x=*y; *y=tmp;}intmain(){ inta=3; intb=5......
  • 52. C高级-指针强化
    1指针是一种数据类型1.1指针变量指针是一种数据类型,占用内存空间,用来保存内存地址。voidtest01(){ int*p1=0x1234; int***p2=0x1111; printf("p1size:%d\n",sizeof(p1)); printf("p2size:%d\n",sizeof(p2)); //指针是变量,指针本身也占内存空间,指针也可以被赋......
  • 深度解析:引用 vs 指针,C++程序员必须掌握的核心概念
    引用(Reference)和指针(Pointer)都是C++中非常重要的概念,它们都用于间接访问变量或对象,但在使用方式、语法、内存管理等方面存在显著区别。下面详细解释什么是引用,并展开讨论它与指针的区别。一、什么是引用?引用(Reference)是C++中的一种变量类型,它是已存在变量的一个别名。引用本......
  • 详细认识指针(一) --指针的概念、指针的变量和地址、const修饰指针、指针的运算、野指
    前言:一提到指针,大家的第一反应是什么?很难理解,No,No,No。其实指针这个知识还是很贴近生活的,接下来我把我的感悟分享给大家。指针的概念指针的定义 首先,我们知道计算机上CPU(中央处理器)在处理数据的时候,需要的数据是从内存中读取的,处理后的数据也会放回到内存中。这个......
  • C++基础之指针(加精)
    指针真正的用武之地在于,在运行阶段分配未命名的内存以存储值。在这种情况下,只能通过指针来访问内存。在C语言中,可以用库函数malloc()来分配内存;在C++中仍然可以这样做,但C++还有更好的方法——new运算符。文章目录指针与数组深入探究探究一探究二探究三探究四探究五探......
  • 双指针算法详解
      我的主页:2的n次方_       1.双指针算法双指针算法是一种在数组或字符串中常用且高效的算法技术,它通过维护两个指针(或索引)来遍历数据结构,从而解决某些问题。这种算法能够减少不必要的重复遍历,降低时间复杂度,并且往往能够使得代码更加简洁易懂。根据指针......
  • 深入理解指针(4)(上)
    目录:1.数组名的理解2.&数组名的理解3.使用指针访问数组4.一维数组传参的本质1.数组名的理解上一章我们在模拟strlen函数时,使用了数组名进行了函数的传参,那么数组名到底意味着什么呢?#include<stdio.h>intmain(){intarr[5]={1,2,3,4,5};int*p=&arr......
  • 07.指针
    7.指针指针也允许pass-by-reference,并且可以用来创造和操作动态数据结构,例如列表、队列、栈和树(lists,queues,stacksandtrees)。7.1指针变量的声明和初始化指针变量包含内存地址作为其值,指针包含变量的内存地址,而变量的内存地址又包含一个特定的值。在这个意义上,变量名直......
  • 委托类型 函数别名 函数代理 函数指针
    #委托类型函数别名DeleGate\Program.csusingSystem;classProgram{//定义一个委托类型publicdelegatevoidOperationDelegate(intx,inty);publicstaticvoidAdd(intx,inty){Console.WriteLine($"Adding{x}and{y}:Result=......