c++之指针入门

c++之指针入门

简介:指针是c和c++的一个重要概念.正确和灵活的运用它,可以使程序简介、高效。
  1. 什么是指针

    在程序定义了一个变量,编译时就给这个变量分配内存单元。(根据变量类型分配一定的长度空间)
    &是取地址运算符;例如:&i 指向 变量i的地址;
    一个变量的地址称为该变量的指针;

    //指针变量->专门用来存放地址(即指针)的变量

  2. 变量和指针

    2.1 定义指针变量

    int * point_1; //定义存放整数类型变量的指针变量
    float * point_2; //定义存放浮点类型变量的指针变量
    一般形式:
    基本类型 * 指针变量名;(即在变量前加表示该变量为指针变量,且“”不是指针变量的一部分) ==》 指针变量一般被分配4个字节
    2.2 引用指针变量

    实例:

    #include <iostream>
    using namespace std;

    int main( )
    {
        int a = 1;
        int * point_1 = &a;
        cout << "a的值是" << a << endl;
        cout << "a的值是" << *point_1 << endl;
        return 0;
    }

运行结果:运行结果
拔高:此时 & * point_1 和 * & point_1 代表什么含义?
“&”和”*”的优先级相同,且按自右向左结合。
因此 & * point_1 先 * point_1,再 &,即变量a的地址。
* & point_1 ⇒ * & a ⇒ a;(已执行”point_1=&a”)
2.3 用指针作函数参数

函数的参数可以使用指针类型。作用是将变量的地址传给调用函数的形参。
实例:
#include <iostream>
using namespace std;

 int main( ) 
 {
    void swap(int * a, int * b);        //声明函数 
    int i1 = 100;           //定义i1 
    int i2 = 999;

    cout << "i1交换前为" << i1 << endl;
    cout << "i2交换前为" << i2 << endl;

    swap( &i1, &i2);    //传入指针
    cout << "i1交换后为" << i1 << endl;
    cout << "i2交换后为" << i2 << endl;
 }

 void swap(int * a, int * b)     //利用指针交换值 
 {
    int temp;
    temp = * a;
    * a = * b;
    * b = temp;
 }

运行结果:利用指针交换值
(有过java基础的同学此时一定觉得很神奇,哈哈哈)

⇒ 下一节(数组与指针)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值