zoukankan      html  css  js  c++  java
  • 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;
    }


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

  • 相关阅读:
    脏矩形(高效绘图 13.3)
    矢量图形(高效绘图 13.2)
    软件绘图(高效绘图 13.1)
    Instruments(性能调优 12.3)
    测量,而不是猜测(性能调优 12.2)
    CPU VS GPU(性能调优 12.1)
    物理模拟(基于定时器的动画 11.2)
    RHEL Server 6.3下MySQL5.5.25a源码安装
    Linux rpm 命令参数使用详解
    db2 用户权限
  • 原文地址:https://www.cnblogs.com/shaoting/p/4619830.html
Copyright © 2011-2022 走看看