文档章节

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

lyh2017iOS
 lyh2017iOS
发布于 2017/07/08 10:09
字数 517
阅读 2
收藏 0
点赞 0
评论 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
博文 354
码字总数 137380
作品 0
朝阳
二十三、typedef

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

长平狐 ⋅ 2013/03/28 ⋅ 0

const static在c c++中的作用

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

y_x ⋅ 2011/11/17 ⋅ 0

C语言小测验和参考答案

1.用变量a给出下面的定义 a) 一个整型数(An integer) b)一个指向整型数的指针A pointer to an integer) c)一个指向指针的指针(An array of 10 integer) d)一个有10个指针的数组(An array of ...

扶殊88 ⋅ 2011/11/29 ⋅ 0

10天自学C语言编程,如何改变一生

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

小辰GG ⋅ 2017/12/04 ⋅ 0

C语言嵌入式系统编程修炼之内存操作

这是我13年前创作和发表在互联网上的文章,这么多年过去了,这篇文章仍然在到处传播。现在贴回Linuxer公众号。 全文目录: C语言嵌入式系统编程修炼之道——背景篇 C语言嵌入式系统编程修炼之...

jus3ve ⋅ 2017/12/29 ⋅ 0

C++雾中风景3:const用法的小结

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

LeeHappen ⋅ 2017/11/27 ⋅ 0

Explicit 关键字和各种类型转换(转)

说实话,从来没有感觉到这个关键字有用,直到今天。 explicit的意思是明显的,和它相对应的一个词是implicit意思是隐藏的。 我参考了MSDN和《c++标准程序库》对这个关键字的描述,并参考了网络...

AlphaJay ⋅ 2011/07/25 ⋅ 0

嵌入式必知的10个基本问题

这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所...

NightCode ⋅ 2015/04/13 ⋅ 0

C语言再学习--关键字

C语言一共有32个关键字,如下表所示: 关键字 说明 auto 声明自动变量 short 声明短整型变量或函数 int 声明整型变量或函数 long 声明长整型变量或函数 float 声明浮点型变量或函数 double 声...

qq_29350001 ⋅ 2016/11/03 ⋅ 0

在Linux下C语言中, 我们可以用const来修饰函数吗(注:不是参数)?

在C语言中, 我们知道, 可以用const来修饰函数的形参, 例如: void change (const c, const *p); 最近在C++语言中看到一些代码, 它们将const关键字放在函数末尾, void change(int c, cha...

TymonHuang ⋅ 2015/01/27 ⋅ 4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 19分钟前 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 45分钟前 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

C++难点解析之const修饰符

C++难点解析之const修饰符 c++ 相比于其他编程语言,可能是最为难掌握,概念最为复杂的。结合自己平时的C++使用经验,这里将会列举出一些常见的难点并给出相应的解释。 const修饰符 const在c...

jackie8tao ⋅ 昨天 ⋅ 0

聊聊spring cloud netflix的HystrixCommands

序 本文主要研究一下spring cloud netflix的HystrixCommands。 maven <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-clo......

go4it ⋅ 昨天 ⋅ 0

Confluence 6 从其他备份中恢复数据

一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复。 如果你在恢复压缩的 XML 备份的时候遇到了问题,你还是可以对整个站点进行恢复的,如...

honeymose ⋅ 昨天 ⋅ 0

myeclipse10 快速搭建spring boot开发环境(入门)

1.创建一个maven的web项目 注意上面标红的部分记得选上 2.创建的maven目录结构,有缺失的目录可以自己建立目录补充 补充后 这时候一个maven的web项目创建完成 3.配置pom.xml配置文件 <proje...

小海bug ⋅ 昨天 ⋅ 0

nginx.conf

=========================================================================== nginx.conf =========================================================================== user nobody; #......

A__17 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部