C 进阶
文章平均质量分 92
C 进阶
deepwater_zone
嵌入式开发、学习交流
展开
-
C 编程规范(变量,结构体,typedef,函数,枚举,宏的命名)
1、命名约定1.1 通用命名规则函数命名,变量命名,文件命名要有描述性,少用缩写。注意,一些特定的广为人知的缩写是允许的,例如用i表示迭代变量(iteration)和用T表示模板参数(template)。目前主要有4种命名风格:序号类型描述1驼峰命名法首字母小写,函数名中的每个逻辑断点都用大写字母来标记示例:myData2帕斯卡(Pascal)命名法与...原创 2019-07-21 18:27:22 · 10336 阅读 · 0 评论 -
变量的内存分配情况(global,local,static)
C语言有全局变量(Global)、本地变量(Local)、静态变量(Static)和寄存器变量(Register)。每种变量都有不同的分配方式。#include<stdio.h>int g1 = 0, g2 = 0, g3 = 0;int main(){ static int s1 = 0, s2 = 0, s3 = 0; int v1 = 0, v2 = 0, v3 = 0; printf("&g1 = 0x08%X \n", &g1); printf("&a原创 2020-05-29 23:55:21 · 1118 阅读 · 0 评论 -
内存四区(栈区stack,堆区heap,全局区、代码区code)
1、划分内存四区的意义:C语言程序中,根据是局部变量,全局变量,常量还是通过malloc等类似的函数分配内存空间,把他们放到对应的内存区中。这样就赋予了这些变量或常量不同的生命周期,不同的释放方式。根据我们程序的需要,我们在编码过程中,声明不同的变量类型,使他们有不同的声明长度,不同的释放方式,给我们更大的灵活编程。2、内存四区分类:序号区域描述1栈区(stack)...原创 2019-08-03 17:38:12 · 1673 阅读 · 0 评论 -
C运行速度优化方法
文章目录1、选择合适的算法和数据结构2、使用尽量小的数据类型3、减少运算的强度3.1 查表4、循环优化5、提高CPU的并行性6、变量7、使用嵌套的if结构转载 2021-10-19 21:45:25 · 2974 阅读 · 0 评论 -
typedef 常用用法
typedef工具是一个高级数据特性,利用typedef可以为某一类型自定义名称。这方面与#define类似,但是两者有3处不同:(1)与#define不同,typedef创建的符号名只受限于类型,不能用于值;(2)typedef由编译器解释,不是预处理器;(3)在其受限范围内,typedef比#define更灵活。使用typedef时要记住,typedef并没有创建任何新类型,它只是为已...原创 2019-06-27 22:49:57 · 905 阅读 · 0 评论 -
C 链表(...)
链表的概念:(1)一种动态存储分布的数据结构;(2)若干个同一结构类型的“结点”依次串接而成;(3)单向链表、双向链表。链表与数组的比较:1、数组(1)事先定义固定长度的数组;(2)在数组元素个数不确定时,可能会发生浪费内存空间的情况 。2、链表(1)动态存储分配的数据结构;(2)根据需要动态开辟内存空间,比较方便地插入新元素(结点);(3)使用链表可以节省内存,提高操作效率...原创 2019-06-20 23:41:01 · 338 阅读 · 0 评论 -
指针函数 vs 函数指针(...)
1、指针函数:指针作为函数的返回值应用实例1:解密藏头诗:#include <stdio.h>char *change(char s[][20], char t[]);void main(void){ int i; char s[4][20] , t[10], *p; printf(“请输入藏头诗:\n”); for(i = 0; i <...原创 2019-06-20 23:30:45 · 541 阅读 · 0 评论 -
C 指针进阶(指针数组 vs 数组指针,指向指针的指针)
1、指针数组 vs 数组指针(1)指针数组:元素是指针的数组,用于存放内存地址:char * color[] = {"red", "blue", "yellow", "green", "purple"};color 是一个数组,它有5个元素,元素的类型都是字符指针。对数组元素的操作相当于对同类型指针变量的操作:printf("%10s, %10s\n", color[0], color...原创 2019-06-20 23:24:32 · 268 阅读 · 0 评论