c基础-数组和指针

一维数组:

1.二维数组

    行下标
    
    
    
    
    
    
    
    
    
    
    

指针

######1指针类型是一种特殊类型
    DataType *name;
    DataType* name;
    DataType * name     
  DataType :数据类型
    
 指针只能保存相同类型的地址
    *:
    name:变量名
    指针和普通变量的区别:
    指针      存地址
    普通变量    存值
    
    
  int *p:   只能保存int型地址
  char *pc:   只能保存char型地址
  double *pd: 只能保存double型地址
    
    
2初始化
    int *p = NULL    //ok
            
    int a=3;
    int *p = &a;
    
    int *pb;
    pb = &a;
    
    int *pc;       
    *pc = &a;   //error
3地址的访问
    *:间接访问运算符
    int *pb;
    pb=&a;  //ok
    
    
    变量名     变量地址        存储
    
    a       0x000012        10
    pb      0x000034        0x000012
    
    
    
    *pb:取指针对应内存里面的值
4可以把指针变量赋值给同类型指针
5不同类型的指针的大小
    64位机  8
    32位机  4
6指针的类型和指针所指向的类型
        int *pa;
            int* pa;
        double *pd;
        
        指针的类型:
        去掉变量名之后的部分
        指针所指向的类型:
        去掉指针变量名和其前面的*
7指针与数组
    数组名表示一个地址,
    数组元素的访问
        int arr[5] = {12,3,4,5};
        int *pa = arr;
        
     arr[0];       arr[3];
     *(arr);      *(arr+3);
      *(pa);        *(pa+3);
      pa[0];          pa[3];
8野指针
    没有初始化,或者其指向的内存被释放,而指针没有被置空;
    危害:搞地质
    造成系统资源的浪费,容易造成未知的致命错误。  
9指针地址的运算
    自增:指针向高地址方向移动
    
    
    自减:指针向低地址方向移动
    移动的字节数是指针所指向的类型的大小
        
    指针相减,表示两个指针之间的距离
    指针相加没意义
    
    
    指针加减一个常量,表示地址往高字节或低字节方向移动
    常量值*sizeof(对应数据类型)个字节
(10)概念区分三个
    int buf[3]
    //数组,大小为3,存放三个int型变量
    int *pb
    //指针 其类型为int型指针
    int *arr[3]
    //指针数组
    int (*pa)[3];
    //指针数组
        
        
    int (*pa)[3];
    //数组指针,又称行指针
    
    int (*)[] pa;
二级指针
DataType **PointorName;


int a = 10;
int *q = &a;
int **p = &q;



*
//定义一个指针,或对地址进行操作,一定要确定指针的指向!!













    
    
    
    
    
    
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,470评论 3 44
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,533评论 1 51
  • 1.c语言中,有时需要使用只读数组,也就是程序从数组中读取数值,但是程序不向数组中写数据,在这种情况下声明并初始化...
    田亢阅读 864评论 0 0
  • 紧锣密鼓,为周末四场活动做准备! 四场活动从主讲主办到邀约,全是股东分享师一手操持。农爸爸家人准备工作也忙到半夜!...
    农爸爸阅读 133评论 0 0
  • 神奇的小尼姑 文/@奇迹雷雷 暮色。 他跳入庵堂,捂住左腹的手指间不停的溢出鲜血。 他是燕绍,名满天下的江洋大盗。...
    奇迹雷雷阅读 469评论 0 0