首页 > 其他分享 >理解指针的定义

理解指针的定义

时间:2024-02-11 09:04:32浏览次数:14  
标签:const 定义 char 理解 str 类型 123456 指针

没想到我大四了有时候还弄不懂指针。。。

0 前言

众所周知,指针的定义如下: int* p,这里*的空格位置,怎么写是无所谓的。

注意,对指针的定义的理解:
0. 指针 = 地址, 我们常说的指针其实是指针变量

  1. 首先看见*,应当认为这是一个指针类型。
  2. 前面的类型是指针所指向地址的类型。 通过指针指向地址+类型长度,就能获取那块地址代表的值。(一种间接访问)

1 const 与指针

const 修饰的变量即为常量 (只读)

所以请看下面的几个问题:

1.1 const char* g_str = "123456";

g_str是指针,指向的类型是 const char类型。所以这里其实指针是可以修改的,但是指针指向的内容(即123456)是不可改的。

要想指针不可改,要写成const char* const g_str = "123456"

1.2 const char g_str[] = "123456";

数组g_str, 每个数组元素是const char类型,同样表示内容不可以改.

标签:const,定义,char,理解,str,类型,123456,指针
From: https://www.cnblogs.com/jye159X/p/18013135

相关文章

  • elsa-core自定义Activity创建Bookmark人工任务完成
    //实现一个自定的activity用于人工处理的节点publicclassMyRunTask:Activity<object>{[Input(Description="Thenameofthetaskbeingrequested.")]publicInput<string>TaskName{get;set;}=default!;///<inheritdo......
  • C++11 用户定义字面量
    C++11用户定义字面量C++11引入了一项功能,称为用户自定义字面量(user-definedliterals),它允许程序员定义自己的字面量后缀,以扩展现有的字面量语法。内置字面量C++自带4种字面量:整形123浮点型12.3字符'1'字符串"123"字面量又可添加后缀来表明具体类型,建议大写:无符......
  • 探索C语言的内存魔法:动态内存管理解析
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......
  • 记录一下自定义博客园主题过程
    前言以前使用的都是默认的博客园主题,最近刚好有空,着手定制以下自己的博客园主题。最终效果参考当前的博客,如果看不到则需要在博客园首页头像处悬停关闭简洁模式思路是尽量保持原有结构,不进行破坏性改动,以css样式为主(当前只添加了两个js方法用于主题切换和判断是否在随笔阅读......
  • 力扣快慢双指针之876. 链表的中间结点
    给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 示例1:输入:head=[1,2,3,4,5]输出:[3,4,5]解释:链表只有一个中间结点,值为3。示例2:输入:head=[1,2,3,4,5,6]输出:[4,5,6]解释:该链表有两个中间结点,值分别为3......
  • 【SpringBootStarter】自定义全局加解密组件
    【SpringBootStarter】目的了解SpringBootStarter相关概念以及开发流程实现自定义SpringBootStarter(全局加解密)了解测试流程优化最终引用的效果:<dependency><groupId>com.xbhog</groupId><artifactId>globalValidation-spring-boot-starter</artifactId>......
  • 零基础入门Vue之拘元遣将——其他常用指令&自定义指令
    回首在零基础入门Vue之梦开始的地方——插值语法我记录了v-bind、v-on、v-model的学习在零基础入门Vue之Tobeornottobe——条件渲染我记录了v-if、v-else-if、v-else、v-show的学习在零基础入门Vue之影分身之术——列表渲染&渲染原理浅析我记录了v-for的学习为了推......
  • 【实用技巧】【Mybatis】自定义的动态 SQL
    1 前言平时我们可能会拼接SQL,尤其是做一些报表的开发或者连表查询的时候,当条件发生变更或者关联关系需要改变的时候,就需要更改代码里的SQL,所以我这里弄了一个简易版的基于Mybatis的动态SQL调用。2 实现主要是Mybatis的动态SQL://controller层@Override@PostMapp......
  • 了解策略模式和状态模式,并理解二者差异
    策略模式和状态模式的代码结构非常相似,其UML类图更是一致,容易让人困惑。究其原因,是没有理解两种模式的设计目的,以至于明明设计了状态模式的代码结构,仍以策略模式的形式使用这些代码。策略模式策略模式比较简单,分析应用类,将类中用于完成特定任务的不同操作抽离成一组独立的类,称之......
  • 深入理解 Java 循环结构:while、do while、for 和 for-each 循环
    Java循环循环可以执行一个代码块,只要达到指定的条件。循环很方便,因为它们节省时间,减少错误,并使代码更易读。JavaWhile循环while循环会循环执行一个代码块,只要指定的条件为真:语法while(condition){//要执行的代码块}在下面的示例中,只要变量(i)小于5,循环中的代码将......