文档章节

第10天C语言(12):const关键字

lyh2017iOS
 lyh2017iOS
发布于 2017/07/08 10:09
字数 517
阅读 2
收藏 0

#pragma mark const关键字 ###pragma mark 概念

/*
 如果const 写在指针类型的左边, 那么意味着   指向的内存空间的值不能改变   ,但是指针的指向是可以改变
 如果const 写在指针的数据类型和 * 号之间, 那么意味着   指向的内存空间的值不能改变  ,但是指针的指向是可以改变
     const int *p = #
    int const *p = num;
    
 如果const 写在指针的右边 (数据类型 * const), 那么意味着 指针的指向不可以改变   ,但是指向指针的存储空间中的值可以改变
     int * const p =  #
 
 规律:
 如果const 写在指针变量名的旁边,那么指针的指向不能变,而指向的内存空间的值可以变 (说明修饰的是p 修饰了指针的指向 所以指针的指向不能变)
 如果const 写在数据类型的左边或者右边, 那么指针的指向可以改变, 但是指向的内存空间的值 不能改变  (说明修饰的是 * 所有*xx 不能变)
 */

###pragma mark 代码

#include <stdio.h>
int main()
{

    /*
    const char *name = "lyh";
    printf("name = %s\n",name);
    name = "lys";
    printf("name = %s\n",name);
     */
    
    int num = 10;
    int *p = #
//    const int *p = #
//    int const *p = num;
//    int * const 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()
{
#warning const对变量只读不可写 const的写法
    
    //默认情况下 变量是可读可写的
    //const 对基本数据类型的作用,可以让基本数据类型的变量变为常量
#warning const 的写法
    // const 有两种写法 1.写在数据类型的左边 2.写在数据类型的右边
    //    const int num = 10; // 当变量加上了 const 说明改变量只读
    
    int const num = 10; // 当变量加上了 const 说明改变量只读
    printf("num = %i\n",num);
    
    //    num = 55;
    printf("num = %i\n",num);
}

© 著作权归作者所有

共有 人打赏支持
lyh2017iOS
粉丝 1
博文 357
码字总数 137380
作品 0
朝阳
二十三、typedef

说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 这讲介绍C语言中很...

长平狐
2013/03/28
138
0
或许有一两点你不知的C语言特性

关键字篇 volatile关键字 鲜为人知的关键字之一volatile,表示变量是'易变的',之所以会有这个关键字,主要是消除编译优化带来的一些问题,看下面的代码 1 int a = 8;2 int b = a;3 int c = ...

吕亚辉
2015/08/02
0
0
const static在c c++中的作用

一.C语言中的const const是C语言中保留的一个关键字,它用来限定一个变量是只读的,即不可变的。程序中使用const可以在一定程度上提高程序的健壮性,但是程序中使用过多的const,可能在对代码...

y_x
2011/11/17
0
0
10天自学C语言编程,如何改变一生

如果想读完一篇文章就能快速的掌握编程技术的话,这可能会让你失望,但是可以获得学习的方法就在好不过了。 下面是分享自学C语言编程的经历和方法。 1.决定 (图为2008年的笔记本) 2009年初,...

小辰GG
2017/12/04
0
0
C++雾中风景3:const用法的小结

const作为C与C++共有的关键字,很多使用的方式大同小异。但由于C++是一门面向对象的语言,在类和对象中有更多的使用规则。之前学习C语言的时候就被const这个关键字搅得焦头烂额,正巧也借这篇...

LeeHappen
2017/11/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux学习-0919

linux和windows互传文件 用户配置文件和密码配置文件 用户组管理 用户管理 一、linux和windows互传文件 linux和windows可以互相传输文件,但是需要使用xshell 并且安装lrzsz包: yum insta...

wxy丶
25分钟前
1
0
收集几个开源的微信小程序开发框架

1、 mpvue mpvue 是美团点评开源的一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小...

哥本哈根的小哥
31分钟前
1
0
Golang CSP并发模型

今天介绍一下 go语言的并发机制以及它所使用的CSP并发模型 CSP并发模型 CSP模型是上个世纪七十年代提出的,用于描述两个独立的并发实体通过共享的通讯 channel(管道)进行通信的并发模型。 CS...

xtof
32分钟前
1
0
用chrome在电脑上模拟微信内置浏览器

先了解安卓微信和Ios微信的UA(User agent:用户代理) 安卓微信UA: mozilla/5.0 (linux; u; android 4.1.2; zh-cn; mi-one plus build/jzo54k) applewebkit/534.30 (khtml, like gecko) ve......

可达鸭眉头一皱
38分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部