zoukankan      html  css  js  c++  java
  • <C和指针---读书笔记2>

     

    前面我们知道了 C语言中数据类型分类:基本类型(整、浮),指针、聚合类、空类型。

    在C语言中如何声明?初始化? 访问? 访问范围?硬件中如何存储?这是几个需要关注的问题。

    基本声明

         说明符 + 表达式列表

    说明符:  是为了具体的说明数据类型、长度、正负的信息。主要包括了部分关键词: int float char unsigned signed long short …

    表达式列表: 就是要声明的名字代号,允许赋予初始值。如 int i=0;

     

    除了常见的数据类型声明之外,还有几个特别一些的。

         数组声明: int tx_buf[20],定义了数组tx_buf,包含了20个int元素。

         指针声明: int *a 表明a是一个指针,指向一个int型数据。 a的值等于 被指向目标的物理地址。

    常量声明:  C语言允许定义常量,需要使用关键字 const

                         Int const a =10; 定义a为常数10,后续程序中该变量不能修改,若有编译器会报错警示。

                         Int const *p    定义指针p指向常量。即被指向的对象 是只读的。 但p可以变化,指向其他对象。

                        Int * const p   定义指针p是常量,即p的值是固定的,只能指向某一个固定的物理地址。但该物理地址所存储的内容是可变的。

                       Int const  * const p  定义了常量指针p指向 一个只读对象。即p永远指向 这个read-only 的int值。

     

    Typedef 和 define 和const       关于这三者具体的应用区别,后面还会再做介绍

    Define: 是一个预编译指令,在翻译指令时,碰到 define值,就自动完成替代。用于宏变量的控制,十分利于代码维护。

    Typedef : 专门用于 为数据类型定义新名字。 如typedef unsigned char  uint8;     typedef  char * Pchar

                      typedef不是简单的 define替代。先记住这句话

    const: const的引入是一个修饰词。很大程度上为了告诉程序员,不要轻易改动这个变量。

     

    作用域

    当变量声明后,它在一定的区域内才能被访问,具体这个区域有多大,就由作用域决定。

    因此我们可以说:  (1) 超出作用域无法访问该变量;(2) 超出作用域可以定义新的变量,即使同名变量。

  • 相关阅读:
    vue项目使用async await 封装 axios
    vue实现预览功能(包括doc,pdf,图片,视频)
    vue中实现下载文件功能
    vue项目中加入拖放排序功能
    Vue项目中生成二维码
    position跟display、overflow、float这些特性相互叠加后会怎么样?
    localStorage使用注意
    webpack 使用总结
    cookie作用域
    语法糖的理解
  • 原文地址:https://www.cnblogs.com/mokang0421/p/7309373.html
Copyright © 2011-2022 走看看