• C语言基础:初级指针 分类: iOS学习 c语言基础 2015-06-10 21:50 30人阅读 评论(0) 收藏


    指针:就是地址.
    &   取地址运算符
    %p   打印地址占位符
    int a=0;
    printf("%p ",&a);   
    指针变量:用来存放地址的变量
    定义: 数据类型 * 变量名 = 初始值
    int a=10;
    int *p=NULL;
    p=&a;    //把a的地址赋值给指针变量p,也就是说p指向了a的地址
    间接访问:通过指针(地址)实现访问.
    * 取值运算符
    *p 取到指针变量的指向的内存中的数据

    指针变量所占字节,与类型修饰符无关,只与操作系统有关.
    在32位操作系统之上,指针变量所占字节是4
    在64位操作系统之上,指针变量所占字节是8

    修饰指针变量的数据类型的作用
    决定*取多少字节的数据.

    定义指针的类型一定要和指向的数据的类型一致,这样才能保证数据的完整性.

    指针在数组中的应用
    数组名就是数组元素的首地址
    数组名 和 指向数组首地址的指针变量的区别:
    1.数组名,常量地址不能被改变,但是,指针变量可以改变.
    2.数组名,用sizeof()计算得到的结果是整个数组所占的字节.
    而用sizeof()计算指向数组首地址的指针变量的大小是4或者8.

    指针初级应用
    //实现两值的确实交换
    int a=1;b=2;
    int *p=NULL,*q=NULL;
    p=&a,q=&b;
    printf("%d %d ",a,b);
    swap(p,q);   //传入的实参是指针变量p,q,也就是传入的是&a,&b(a,b的地址)
    printf("%d %d ",a,b);

    void  swap(){
    int temp=0;
    temp=*p;
    *p=*q;
    *q=temp;
    }


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Dictionary用法详解
    List与IList的区别
    接口
    C# List<T>用法详解
    c#FileStream文件读写
    学习如何用VS2010创建ocx控件
    sql server零碎知识
    BinaryWriter和BinaryReader用法
    通讯录源程序分析
    美丽说
  • 原文地址:https://www.cnblogs.com/shaoting/p/4619830.html
Copyright © 2020-2023  润新知