首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言位操作(二)

    今天给大家继续分享C语言里面的位操作;这个礼拜熟悉了一下公司代码,第一次看内核代码的感受就是(看的是 rtos——threadx 和 Linux),C 语言基础要好,不然看源代码很是难受,而且一般企业里面的项目都是非常庞大的,所有的一切都要靠自己去理解,所以的话平时一些c语言基础要掌握好,比如说:指针,二级指针,函数指针,指针函数,结构体数组指针,结构体指针数组,数组指针,指针数组,结构体等,甚至一些 GNU 里面的c 语言用法,可能在平时的单片机代码里面不是很常见,比如说:  attribute 的多种用法,week 弱定义,volatile 的使用,内联函数的使用,结构体位域的使用等等,当然也会有C++代码;现在越来越觉得C++和C这种语言是真的好,很强大分享,很香。想必刚才说的里面有些读者可能没用甚至也没有听过(当然您是老手的话,那可是小菜一碟啊!),没关系,作者也是一边学习一边总结的,后面也会总结分享出来的,希望对各位有用。

    06

    0x80表示什么_0x38是多少

    字符在计算机中以其ASCII码方式表示, 其长度为1个字节, 有符号字符型数 取值范围为-128~127, 无符号字符型数到值范围是0~255。因此在Turbo C语言中, 字符型数据在操作时将按整型数处理, 如果某个变量定义成char, 则表明该变量 是有符号的, 即它将转换成有符号的整型数。 Turbo C中规定对ASCII码值大于0x80的字符将被认为是负数。例如ASCII 值 为0x8c的字符, 定义成char时, 被转换成十六进制的整数0xff8c 。 这是因当 ASCII码值大于0x80时, 该字节的最高位为1, 计算机会认为该数为负数, 对于 0x8c表示的数实际上是-74(8c的各位取反再加1), 而-74 转换成两字节整型数并 在计算机中表示时就是0xff8c( 对0074 各位取反再加1) 。 因此只有定义为 unsigned char 0x8c转换成整型数时才是8c。这一点在处理大于0x80的ASCII码 字符时(例如汉字码)要特别注意。一般汉字均定义为unsigned char

    02

    关于堆栈的讲解(我见过的最经典的)

    一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束后有系统释放 4、文字常量区—常量字符串就是放在这里的。程序结束后由系统释放 5、程序代码区—存放函数体的二进制代码。

    02
    领券