- 博客(6)
- 问答 (3)
- 收藏
- 关注
原创 动态内存分配
动态内存分配1. malloc和free这两个函数的原型如下void *malloc(size_t size);void free(void *pointer)这两个函数都存在stdlib.h中,用于冬天内存开辟注意:每次使用malloc动态开辟内存的时候,都要用一个指针接受他的返回值如果malloc开辟内存失败了,就会返回一个NULL,所以每次检查是否开辟成
2017-02-27 16:40:39 1078
原创 结构和联合--结构体内存和位段内存开辟规则
一. 结构的基本知识聚合数据类型能够存储多个数据,C语言提供了两种类型的聚合数据类型,数组和结构。数组是相同的数据,结构是不同类型的数据聚合。结构也是一些值得集合,这些值成为它的成员,每个结构都有它的名字,他们是通过名字来访问的。1. 结构声明在结构声明时,必须列出它包含的所有成员,这个列表包括每个成员的类型和名字。struct tag {member-list}var
2017-02-27 13:55:18 1507 2
原创 操作符和表达式
一. 操作符1. 算术操作符+ - * / %除了%之外其余的几个操作符既可以用于计算整型也可以用于计算浮点型数据,%只能计算整型数据,得到的结果是余数2. 移位操作符> 右移位操作符>>右移时,从左边移入新位有两种方式。一种方案是逻辑移位,左边移入的数由0填齐;另一种是算术移位,左边移入的数由原先该值得符号位决定,符号位为1则移入的为均为1
2017-02-13 16:41:59 884
原创 杂记3
0. const受保护权限 请看下面的代码片 int num = 0; const int *p = # 这一段代码在C语言中是可以通过的,因为num在定义的时候没有修饰,所以权限很大,当用*p指向它的时候可以对它进行修改。 再看下面的代码片: const int num = 0; int *p = # 这段代码在C编译器中会报错,原
2017-02-11 20:08:51 732
转载 C语言volatile关键字详解
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:short flag;vo
2017-02-11 17:24:20 1212
原创 三字母词和转义字符
1. 三字母词在C语言中有一种三字母词的说法,trigraph sequences,目前为止有九种三字母词,如下??= # ??) ] ??! | ??( [
2017-02-07 17:44:36 1457
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人