zoukankan      html  css  js  c++  java
  • 数组、指针和引用

    数组、指针和引用

    标签(空格分隔): visual c++


    数组

    定义

    数组必须先定义,在使用


    数据类型 数组名 [数组大小]


    初始化

    指定数组的大小和初始值

    int nArray[4]={1,2,3,4}
    

    也可以用一个数,给数组全部初始化

    int nArray[4]  = {-1}//nArray=[-1,-1,-1,-1]
    

    省略数组大小的说明,直接初始化数组

    int nArray[]={1,2,3,4}
    

    上面的数组大小没有指定,数组的长度由大括号里面的数值的个数决定。只有当数组立即初始化的时候才可以这样

    说明数组大小,并且初始化前几个值

    int nArray[4]={1,2}
    

    要注意跟用一个数初始化的区别

    指针

    定义

    指针是一种数据类型,具有指针类型的变量称为指针变量。


    指针类型 * 指针名
    给出几种常见的指针变量的声明

    int * pn,*pi; //pn 和 pi是两个指向int型变量的指针
    float *pl; //pl是指向float型变量的指针
    char *pc;//pc是指向char型变量的指针
    int *(pf)();//pf是一个指向函数的指针,该函数的返回值是int型数值
    int * *pp;//pp 是一个指向指针的指针,即二维指针
    

    初始化

    利用取地址符号&取得一个变量的地址,然后用这个地址给指针变量初始化

    int a = 10;
    int b[5] = {1,2,3,4,5}
    int *pa = &a;
    int *pb = b[3];
    

    指针的使用

    指针存储的是一个内存的地址,直接对指针的运算,或改变其内存的地址。根据指针类型,变化会有区别。例如,int型的指针,加减的长度是4,char型的加减的长度是1.利用取值符号*获取指针指向的地址的存储的值。

    int a[] ={10,20,30};
    float b[] = {1.1,2.2,3.3};
    char c[] = {'a','b','c'};
    int *pa = a;
    float *pb = b;
    char *pc = c;
    for(int i = 0;i<3;i++)
    {
        cout<<"pa的存储的地址:"<<pa+i<<"	,存储的数值是:"<<*pa+i<<endl;
        cout<<"pb的存储的地址:"<<pb+i<<"	,存储的数值是:"<<*pb+i<<endl;
        cout<<"pc的存储的地址:"<<pb+i<<"	,存储的数值是:"<<*pc+i<<endl;
        cout<<endl;
    }
    

    ** 更正一下:可以看到,char型的指针,加减的差值也是4 **

    引用

    应用可以看做是变量的别名,对引用的操作会映射到变量本身。

    引用的定义


    数据类型 &引用名 变量名


    引用要注意

    • 引用在定义时要初始化
    • 对引用的操作就是对呗引用变量的操作
    • 可以用一个引用给一个变量赋值,该变量的值是被引用的变量的值
  • 相关阅读:
    【python】mongo删除数据
    【linux】复制文件夹中文件,排除部分文件
    【mysql】datetime时间比较
    【python】del
    【linux】shell代码,获取当前路径,创建文件夹
    【python】打印函数调用栈
    【linux】复制文件夹内容到另一个文件夹
    【gearman】gearmand -d 无反应解决
    【python】异步编程twisted
    AndrewNG Deep learning课程笔记
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/11424445.html
Copyright © 2011-2022 走看看