指针的基本使用

指针的基本使用

  • 只能用于存储地址
  • 在64位编译器下,指针占用8个字节
定义指针变量
  • 数据类型 * 指针名称;
    • 数据类型:说明定义的指针变量能够保存申明类型的变量的地址
      • 注意:指针变量是什么类型,那么将来就只能保存什么类型变量的地址
      • 例如:指针变量是int类型,那么将来就只能保存int类型变量的地址
    • *:没有任何特殊含义,仅仅是为了标示这是一个指针变量
    • 指针名称:用于区分不同的指针变量
// 普通变量
int num;
num = 10;

// 指针变量
int *p;
// 将num的地址存储到p这个指针中
p = #

// 指针变量前的*号表示访问指针变量指向的那一块存储空间
// 也就是说 *p = num
*p = 55;
指针的注意点
  • 指针只能保存地址
  • 同一个变量可以有多个指针指向他
  • 指针的指向可以修改
  • 不要访问野指针
  • 指针类型是什么类型,就只能指向什么类型的数据

多级指针(很少见,了解就行)

  • 多级指针的操作,最简单的方法,就是通过几颗星来存储,就通过几颗星来访问
char c = 'a';
char *cp;
cp = &c;
char **cpp;
cpp = &cp;
char ***cppp;
cppp = &cpp;
/**
 *cp == c;
 *cpp == cp;
 *cppp = cpp;
 **cpp == *(*cpp) == *cp == c;
 ***cppp == **(*cppp) == *(*cpp) == *cp == c;

cp中存放的是c的地址
cpp中存放的是cp的地址
cppp中存放的是cpp的地址
*cppp 取出的时cpp
而cpp中存放的时cp的地址,所以*(*cppp)取出的是cp
而cp中存放的是c的地址,所以*(*(*cppp))取出的是c
 */
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,841评论 3 44
  • C语言指针的总结 1. 变量 不同类型的变量在内存中占据不同的字节空间。 内存中存储数据的最小基本单位是字节,每一...
    xx_cc阅读 9,421评论 11 39
  • 今天一早的时候就看到了晨读的文章,细细看了几遍,终于等到下笔的时候,才发现这是一个命题。 一关于战略 战略不是目标...
    48岁的张昆阅读 5,434评论 1 0
  • 土家阅读 1,013评论 0 0
  • 这又是一场说走就走的旅行。从周六下午的计划到晚上的购票,周日早上出发,周二下午回来,三天看到了另一番天地;也对生活...
    0eac9291b341阅读 2,865评论 0 1

友情链接更多精彩内容