zoukankan      html  css  js  c++  java
  • C语言的指针

    指针常量:

    定义方式:

    #include <stdio.h>
    main()
    {
       int a = 10;
       int * const pi=&a;  /*定义一个指针常量*/
       a = 20;
       *pi = 35;
       printf("%d\n",a);
       printf("%d\n",*pi);
    }

    指针常量的意思是本身是常量,它自己的值不能被改变,但是它所指向的地址空间却不是常量,是可以被改变的

    例如上面的*Pi=35

    #include <stdio.h>
    main()
    {
       int a = 10;
       int b = 20;
       int * const pi=&a;  /*定义一个指针常量*/
       pi = &b;               //error 试图修改指针常量的值
       printf("%d\n",*pi);

    常量的指针

    定义方式:

    #include <stdio.h>
    main()
    {
       const int a = 10;
       const int b = 120;
       const  int *  pi=&a; //定义一个常量的指针,指针必须指向一个常量
       printf("%d\n",*pi);
       pi = &b;
       printf("%d\n",*pi);
    }

    常量的指针,本身的值,是可以改变的,如上例,但是所指向的地址的内容,却不能被改变,如下例:

    #include <stdio.h>
    main()
    {
       const int a = 10;
       const int b = 120;
       const  int *  pi=&a;
       *pi = 100;              //编译器会报错
       printf("%d\n",*pi);
    }

    但是常量的指针,可以指向普通的变量地址,只是不能用*pi的方式来修改变量的值,如下例会报错

    #include <stdio.h>
    main()
    {
       int a = 10;
       const  int *  pi=&a;
       *pi = 100;                //error

       printf("%d\n",*pi);

    但是这样却可以

    #include <stdio.h>
    main()
    {
       int a = 10;
       const  int *  pi=&a;
       a= 100;                //ok

       printf("%d\n",*pi);

    指向常量的指针常量

    #include <stdio.h>
    main()
    {
       int a = 10;
       int b = 20;
       const int * const pi=&a;  /*定义一个指针常量*/
       printf("%d\n",*pi);
    }

    指向常量的指针常量,也就是它本身的值不能改变,它指向的地址空间的值也不能改变

    #include <stdio.h>
    main()
    {
       int a = 10;
       int b = 20;
       const int * const pi=&a;  /*定义一个指针常量*/
       pi = &b;  //error 试图修改指针的值
       printf("%d\n",*pi);
    }

    #include <stdio.h>
    main()
    {
       int a = 10;
       int b = 20;
       const int * const pi=&a;  /*定义一个指针常量*/
       *pi = 200;  //error 试图修改指针所指向的变量的值
       printf("%d\n",*pi);
    }

  • 相关阅读:
    cocos2d-x C++ 判断当前平台宏定义大全
    cocos2d-x JS 纯代码加载播放plist与png动画
    cocos2d-x JS 加载播放Studio帧动画的两种方法
    iOS开发小技巧总结
    cocos2d-x C++ (Android)集成第三方微信分享
    cocos2d-x C++ (iOS)集成第三方微信分享
    cocos2d-x JS 获取当前系统时间(解决屏幕双击点击事件)
    (已解决) eclipse提示报错"serializing cdt project settings"解决方案
    cocos2dx
    cocos2d-X JS 获取cocostudio中的UI组件
  • 原文地址:https://www.cnblogs.com/zhusd/p/1759393.html
Copyright © 2011-2022 走看看