美文网首页
c基础-数组和指针

c基础-数组和指针

作者: 晓永远 | 来源:发表于2016-12-15 20:13 被阅读0次

一维数组:

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基础-数组和指针

    一维数组: 1.二维数组 指针 2初始化 3地址的访问 4可以把指针变量赋值给同类型指针 5不同类型的指针的大小 ...

  • C语言

    C 指针、指针变量、函数指针、指针函数、指针数组、数组指针、C 数组

  • 学习笔记3(指针运算,函数参数与指针,数组指针,二级指针)

    一、指针运算 二、数组与指针 三、指针和函数参数 java中: C/C++中: 四、指针数组 五、 二级指针 六、...

  • 指针数组和数组指针

    指针数组|存储指针的数组 在C语言和C++语言中,数组元素全为指针的数组称为指针数组。 例如:int *p[10]...

  • 再学C语言之指针要点

    C之字符数组 C之指针引用字符串 C语言之数组指针 数组指针:首先它是一个指针,它指向数组指针数组:首先它是一个数...

  • C++基本概念复习_2018-06-25

    C++基础 (1)C和C++的区别 C++分为: C部分(区块、语句、预处理器、内置数据类型、数组、指针等); 面...

  • C语言 - 中

    总目录 前言 本文介绍C语言的指针:一、指针介绍二、指针使用三、数组指针和指针数组 函数指针和指针函数 环境 1...

  • 电商专业学习嵌入式软件开发第八天

    C基础第三天 今天老师讲了数组和指针,单单是数组感觉难度不大,不难理解,但是和指针结合之后,对我来说难度就不止一点...

  • C中的多维数组和其指针(1)

    C中数组和指针的关系是紧密的,实际上C中的数组就是靠指针定义的——C Primer Plus(第五版) 多维数组和...

  • iOS开发系列文章[转]

    C语言 iOS开发系列--C语言之基础知识 iOS开发系列--C语言之数组和字符串 iOS开发系列--C语言之指针...

网友评论

      本文标题:c基础-数组和指针

      本文链接:https://www.haomeiwen.com/subject/gppgmttx.html