指针 【详解】

计算机基础:
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个元素
10.数组与指针:
    指针与数组的关系:

#include<stdio.h>
void main()
{
    int a;
    int* pa=&a;      //定义指针变量  pa
    printf("%d\n",*pa);   
    int buf[10]={1,2,5,4,8,9,4,5,7,8};
    int* p=buf;      //定义数组的指针变量 因为buf就是首地址
    printf("%d\n",*(p+2));  、// 利用指针变量来取数组中的元素 


}


    定义数组: 类型 数组名【长度】
    概念:连续且同类型的存储空间
    数组名:就是次数组空间的首地址。

    
    
运算符
1.取变量地址 : &变量。
2.引用地址的内容 *指针

猜你喜欢

转载自blog.csdn.net/weixin_40989362/article/details/81139730