码迷,mamicode.com
首页 > 其他好文 > 详细

c28---const

时间:2017-08-21 15:47:45      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:div   基本数据类型   return   ons   const   数据   har   常量   argv   

//
//  main.c
//  const关键字,节省内存空间,放在字符表里面,

#include <stdio.h>

int main(int argc, const char * argv[]) {
   
    /*
     1.const,指针类型的左边、数据类型和*号之间,指针的指向可以改变,指向的内存空间中的值不能改变。
     2.const写在指针的右边(数据类型 * const), 那么意味着指针的指向不可以改变, 但是指针指向的存储空间中的值可以改变
     
     规律:
     如果const写在变量名的旁边(int * const p), 那么指针的指向不能变。
     其余,指向的内存空间不能改变。
     */
    
    const char *name = "lnj";
    printf("name = %s\n", name);
    name = "lk";
    printf("name = %s\n", name);
    
    
    int num = 10;
    int *p = &num;
    const int *p = &num;//内存空间不变(修饰int *,修饰*,意味着存储空间不变)
    int const *p = &num;//内存空间不变(修饰*,意味着存储空间不变)
    int * const p = &num;//变量里的地址值不变,指向不变(修饰变量p,p的地址值不变)
    
    
    *p = 998; // 修改了指针指向的内存空间中存储的值
    printf("&num = %p\n", &num);
    printf("p = %p\n", p);
    printf("num = %d\n", num);
    
    int age = 30;
    p = &age;// 修改了指针的指向
    printf("&age = %p\n", &age);
    printf("p = %p\n", p);
    
    return 0;
}

void test()
{
    // const对基本数据类型的作用, 可以让基本数据类型的变量变为常量
    // const有两种写法, 1.写在数据类型的左边, 2.写在数据类型的右边(变量名左边)
    const int num = 10;
    int const num = 10;//两种写法一样的,
    printf("num = %i\n", num);
    num = 55;
    printf("num = %i\n", num);
}

 

c28---const

标签:div   基本数据类型   return   ons   const   数据   har   常量   argv   

原文地址:http://www.cnblogs.com/yaowen/p/7404413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!