• C语言第七节 指针


    1、指针定义

      指针,指针变量,此变量存储的内容是内存中某块内存的首地址,也就是内存编号;

      我们通过指针间接访问到内存中存储的值,程序中需要的内容是值,而指针,也就是地址是一个位置信息;

      指针变量所占内存大小只与操作系统的位数有关,64位操作系统下,指针变量所占内存大小为8个字节,而内存编号对应的内存单元为一个字节,字节是内存的最小单位;

      既然指针也是变量,那么声明指针变量的语法格式是:

        数据类型   变量名  初值;

     

    2、指针的定义格式

       int *p = NULL;

      (int *)是指针变量的类型,表示 p是整形指针,p可以从首地址向下取四个字节大小的空间来获取数据;

      p为变量名;

      NULL为初始值,恒等于0;

     

    3、* 的含义

        1> 如果*出现在声明指针变量时,此时的*仅仅是一个标识符,代表变量是一个指针变量;

        2> 如果*与指针变量单独出现,比如*p,此时代表取值,取到p指向内存区域中存储的值;

     

    4、指针做算数运算

      注意两点:

      1> + - 决定了偏移量是我往内存地址高位还是低位移动,+ 往高位,- 往低位;

          2> 往高位还是低位移动多少个字节,是指针类型决定的,类型占多少位就偏移多少个字节。

     

    5、结构体指针

      既指向结构体的指针;

      在访问成员是可以有两种方法:

        第一种是先获取到结构体变量,通过.操作符来访问;

        第二种是直接通过结构体指针,指向结构体中的某个成员,既用 -> 来指向。

     

    6、重点记忆

         1> 指针类型决定通过指针取值时的偏移量,既从记录地址往高位取几位,得到的存储数据从高位往低位读取,最后得到的结果会因为类型不符发生失真,所以指针类型应与指向变量相符;

         2> 打印有关指针变量时,要注意得到的如果是地址时会默认打印对应地址上的数据。

     

  • 相关阅读:
    博客园装修 js动态背景效果 一个随鼠标变换的动态线条
    转载:jQuery在线引用地址
    记录下es6的基础笔记
    js、css 、html平时的一些小笔记
    【机器学*】k*邻算法-01
    【Leetcode】718. 最长重复子数组
    【嵌入式】嵌入式系统开发与应用第二版课后答案第三章(田泽)
    【嵌入式】嵌入式系统开发与应用第二版课后答案第二章(田泽)
    【嵌入式】嵌入式系统开发与应用第二版课后答案第一章(田泽)
    【C++】关键字回忆leetcode题解
  • 原文地址:https://www.cnblogs.com/hyl2012/p/5212792.html
Copyright © 2020-2023  润新知