C语言内存操作

课程导师

嵌入式实训班 嵌入式实训班
00:00:00
Play
Next
00:00 / 00:00
40%
  • 2x
  • 1.5x
  • 1.25x
  • 1x
1x
5.指针修饰符const举例
离线学习

下载APP离线观看

技能补充更多
  • 嵌入式驱动开发环境搭建初级
    嵌入式驱动开发环境搭建初级

    嵌入式系统的开发往往和PC上的开发不一样,那么本套课程将带着大家看看嵌入式开发中一些常用软件环境和服务的搭建情况。

  • C语言语法概述
    C语言语法概述

    C语言,是从事嵌入式开发人员必须掌握的重要工具,本套课程将重点围绕C语言的32个关键字,掌握其中使用它们的技巧和规律。

  • C语言函数使用
    C语言函数使用

    C语言在本质上是函数的语言,我们使用的每个功能都是函数,因此在嵌入式应用开发中,我们对C语言的应用其实是对其函数的应用。如何运用函数,将是我们设计大型嵌入式程序的基础。

  • linux操作系统基础
    linux操作系统基础

    linux作为一款开源的操作系统,已经被大多数人所认可,在嵌入式领域中,linux的占用率一直稳居榜首, 掌握好linux下的基本概念,对我们掌握系统编程及驱动开发都非常有利。

  • 最新问答
  • WIKI资料
  • 课件下载
只看我参与的
  • 学习C语言

    C语言指针初步

    今天我们进入到嵌入式C语言高级部分的第三个内容-C内存空间的使用。学习目的在本章内容中,我们将给大家展示一下C语言对于内存空间指向和内存空间使用上的一些技巧。在我们上一个阶段中,我们只是明白了C语言给我们带来的关键字和运算符。但是C语言的核心-操作内存资源的方式方法,这些我们没有介绍。在本个学习阶段...

  • 学习C语言

    指针进阶

    下面为了让大家更好的理解上面两个概念,我们来举几个例子来查看一下。解释第一个概念:大小一样的盒子存储指针代码如下我们声明了两个类型的变量,它们的类型是不同的。我们通过sizeof来查看这两个指针变量的大小。运行结果如下这是在Ubuntu操作系统下的运行结果,下面两句命令分别是编译命令和运行的命令,可...

  • 学习C语言

    指针举例

    我们已经在内存中看到了int类型的存储方式,如果我们存储的是0x12,就会在内存中得到二进制的编码0001 0010。如果我们存储一个float类型的1.2,又在内存中又有怎样的存储方式呐?下面我们使用两种方法来读取存储在内存中的float变量。用int类型的指针来读取同样大小的四个字节测试代码如下...

  • 学习C语言

    指针修饰符const

    概念在我们了解了指针的基本概念之后,接下来我们来看一下指针和C中给我们提供的关键字中的类型修饰符它们之间的关系。指针就是存储地址的一种特殊变量。那这个变量跟我们的修饰符之间还有哪些更深层次的符号限制呐?我们在实际开发过程中,经常会运用修饰符,把指针的这种限制范围更明确的告诉给用户,通过不同修饰符告诉...

  • 学习C语言

    const举例

    指针对常量字符串进行写操作测试代码如下首先要知道的是,双引号里面的字符串是常量类型的,在存储字符串的空间中,字符串的每一个字节被展开存储,按照‘h’‘e’‘l’…来存储。我们用char类型的指针指向了这一片区域,严格来说,它们的类型是不匹配的。在前面我们使用*p来访问变量的值,但是在指向的是字符串的...

  • 学习C语言

    volatile与typedef

    Volatile关键字Volatile就是防优化。Volatile一般和硬件有关,指向硬件的内容可能我们需要不要让编译器去优化,每次都要读取那里的内容。比如我们在实际操作中有一个键盘,我们查看一个按键是否被按下,就是通过读取内存里面关于按键状态的高低电平来识别。那么我们怎么来读取这一个位里面的状态(...

  • 学习C语言

    运算符标签操作

    指针运算符加减标签操作指针作为一种特殊的变量,它的运算和普通变量是有一定区别的。指针在运算中并没有具备其它变量所有的性能。我们只是给大家介绍一些指针常用的运算:加法运算(+,++)我们知道一个整型的变量可以为它做加法运算,那么指针变量加1之后是一个地址还是一个整型?int *p=xxx; [0x12...

  • 学习C语言

    运算符加减举例

    指针运算符加减举例测试代码如下首先定义了两个十六进制的int类型的变量,将变量b的地址赋给了p1,将b的变量中的四个字节取小地址的字节(指向99的字节)赋给了char类型的指针p2,我们前面在进行不同类型的赋值的时候是有警告的,有些编译器直接会报错,编译通不过的。这里我们进行了强制类型的转换,就告诉...

  • 学习C语言

    指针越界访问举例

    指针越界访问举例我们都知道const修饰的是一个常量,是不可以被改变的量。但是在C语言中,它也许是一个中看不中用的修饰符。它是希望我们不去改变它的值,但是实际上C却不能阻止我们去修改它。和C++,Java不同,C++中的const就不能被改变。C中就并没有这种强化,当然也有它的道理。下面我们来看一个...

  • 学习C语言

    指针逻辑运算符

    指针逻辑运算符操作指针变量存储的是一个地址,可以将它理解成一个数值。只是编译器会因为它是一个指针类型而将它读取作为一个地址。逻辑运算符包括>=,<=,==,!=;显然我们比较两个地址的数值的大小是没有意义的。指针中最常用的逻辑操作符==,!=这两个是最常用的。我们将0x0规定为地址的无效值,结束标志...

  • 学习C语言

    多级指针

    多级指针概述我们将指针变量理解为一个存储地址的变量。如果这个地址里面存储的依然是地址,那么我们就可以定义一个二维指针。通过一个二维指针,我们通过两次寻址操作就可以找到这个值。比如我们定义一个int **p;这是一个二维指针,当编译器看到*p的时候,它知道这是一个指针变量,指向一个地址;当它看到第二个...

  • 学习C语言

    多级指针举例

    多级指针举例可能很多同学都执行过这个命令,ping www.baidu.com或者是ping www.qq.com,ping是一个命令,后面的网址就是它的传入参数。不同的参数会导致不同的运行结果。下面就是我们main函数的标准写法,argc就是传入参数的个数,argv是一个字符串类型的二维指针。当我...

  • 学习C语言

    数组的定义

    数组是一种内存分配的形式,数组是定义了一个连续的空间,与指针类似。数组定义方式类型 数组名[数组大小];//类型为每个空间的大小,我们通过数组名和下标访问数据,数组名指向存储数据的首地址,但是我们不可以改变数组名指向的地址。数组大小只有在定义的时候生效,定义之后不可以被改变。int a[100]; ...

  • 学习C语言

    数组空间的初始化

    数组空间的初始化数组空间的初始化就是为每一个标签地址赋值。按照标签逐一处理。如果我们需要为每一个内存赋值,假如有一个int a[100];我们就需要用下标为100个int类型的空间赋值。这样的工作量是非常大的,我们就想到了让编译器做一些初始化操作,初始化操作是第一次赋值,第二次赋值就不能再这样赋值了...

  • 学习C语言

    数组初始化进阶

    数组空间的初始化char buf[10]=“abc”; a=”Hello World”;我们知道双引号里面的字符串是常量,系统为它们分配一个空间之后,企图将内存首地址赋值给数组名。我们前面已经说过,数组名存储的首地址不可以被改变,由于前面已经被初始化,数组名指向的地址已经确定,所以不能被再次赋值...

  • 学习C语言

    数组初始化实战

    数组空间的初始化字符空间就是我们操作的最小空间,还有int类型,float类型,结构体类型的空间,这些类型的要求就没有字符空间的要求那么多。字符空间涉及到字符串的概念以及结束标志。我们接下来介绍的就是非字符空间。字符空间:可以使用ASCII码解码的空间,我们可以看懂,使用%s查看,\0为结束标识符。...

  • 学习C语言

    指针数组的概述

    指针数组的概述熟悉了数组空间的概念之后,我们知道int a[100]存储的是int类型的数据,如果这里面存放的是地址,那么这就是指针数组。指针数值就是数组里面存放的是指针。我们如下定义指针数组;char  *a[100]; //a存放了100个指向char类型的指针通过sizeof(a)可以看到它1...

  • 学习C语言

    数组名的指针保存

    数组名的指针保存定义一个指针,指向int a[10]的首地址:int *p=a;对于int类型的数组和指针来说,它们读取的方法是一样的,都是以四个字节为单位进行读取。所以这样的赋值方法是正确的。定义一个指针,指向int b[5][6]的首地址我们是不可以使用int **p=b这样的二维指针来赋值。我...

  • 学习C语言

    结构体字节对齐

    结构体字节对齐接下来我们学习的C中的第三种空间-结构体空间,结构体空间是将基本数据类型或者是其它构造数据类型打包的工具。打包就是结构体最主要的一种功能,在打包过程中,我们要引入一个新的概念-字节对齐。这个打包不是随随便便就OK的,不像我们装行李只要全部装进去就好了。首先我们先来看一段代码,我们将一个...

  • 学习C语言

    内存分布思想概述

    内存分布思想概述通过我们前面对C的学习,我们知道了C就是不断地操作和分配内存类型资源的一种语言,它的核心思想就是如何操作内存。不管是指针还是数组,都是围绕着内存。随着对内存属性的深入,自然而然对于我们理解C的一些编程技巧和更高深的思想是很有帮助的。内存的属性大小不管我们是什么数据类型,在编译器看到这...

  • C语言课程大纲共享版 课件

    C语言课程大纲共享版 课件

© 2012-2016 www.maiziedu.com

蜀ICP备13014270号-4 Version 5.0.0 release20160127

你有一个红包等你领取!

免费电话咨询