指针概念与解析

计算机基础:
1、组成:CPU,存储,I/O
2、CPU:执行指令。
3、程序:就是有限指令的集合(外存中)
     进程:正在运行的程序(CPU会通过文件系统去将外存中的程序加载到内存并分配空间)
     存储单元:
    1最小的存储单元:bit      (存放0/1)
    2计算机的存储基本单元:byte      (每次一次性取出的宽度)
    3其他单位: KB=1024Byte=2^10Byte
                       1MB=1024KB=2^10KB=2^20Byte=2^23bit
                       1GB=1024MB=2^10MB
    注:8GB=1024*8MB=2^13MB=2^23KB=2^33Byte     


4、物理地址:内存条上连续的编号
5、指针:就是地址
6、变量:
    整型变量: int a=3    整型变量:专门存放整型的值
    指针变量:             指针变量:专门存放指针的变量
    定义: 类型* 变量名;
    引用指针变量:引用内容    (注:引用指针内容的长度取决于指针的类型)
    注:所有指针变量都为4Byte  
    
7、通过指针修改空间的内容: *pb=100;
    
    
8、空指针: null
9、(***)指针的运算:  +  -   注:指针指向的元素地址 
     int* pa;
     pa+n==pa+sizeof(int)*n ;    指针是指向的元素的地址,p+n代表是向后移动4个元素
     pa-n==pa-sizeof(int)*n ;      指针是指向的元素的地址,p+n代表是向前移动4个元素
    
9、数组与指针:
     9.1   指针与数组的关系:
             定义数组:类型 数组名[长度]  

概念:连续且同类型的存储空间

数组名:就是此数组空间的首地址
  9.2指针变量与数组的关系:
  
    运算符:
1、取变量地址:  &变量
2、引用地址的内容:   *指针

1、指针类型: 基本类型 
  2、空指针类型变量:没有意义,只是一个指针空间,用于记录地址(不能运算)
        void* 变量;
    注:由于空间指针void*不知道尺寸(类型),是不能进行+ -运算的
  3、空地址:每个数据空间都有地址(地址>0),设置地址为0的指针为空指针(不指向任何的元素)        
        注:指针变量必须初始化
        typedef NULL (void*)0;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值