理解指针的定义

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

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类型,同样表示内容不可以改.

posted @ 2024-02-11 00:45  wenli7363  阅读(25)  评论(0编辑  收藏  举报