cyang's blog

嵌入式入门/*到头发护理*/ http://cyang.tech

C语言中,隐藏结构体的细节

本文转载自 博客园 我们都知道,在C语言中,结构体中的字段都是可以访问的。或者说,在C++ 中,类和结构体的主要区别就是类中成员变量默认为private,而结构体中默认为public。结构体的这一个特性,导致结构体中封装的数据,实际上并没有封装,外界都可以访问结构体中的字段。 C++中我们尚可...

2018-04-18 17:49:48

阅读数:55

评论数:0

C语言 符号的不同意义

C语言的许多符号在不同的上下文环境里有不同的意义,相当于被“重载”了。如下展示了一些符号的不同意义。 static 在函数内部,表示该变量的值在各个调用间一直保持延续性。类似与全局变量,区别在于作用域不同。 在函数外部,表示该函数或者变量只对本文件可见。 extern 用于函数定义,表示...

2018-03-27 22:53:22

阅读数:105

评论数:2

C语言 ringBuffer 实现

一、 ringBuffer 介绍 ringBuffer 称作环形缓冲,也有叫 circleBuffer 的。就是取内存中一块连续的区域用作环形缓冲区的数据存储区。这块连续的存储会被反复使用,向 ringBuffer 写入数据总是从写指针的位置开始,如写到实际存储区的末尾还没有写完,则将剩余的数据...

2018-03-22 20:30:13

阅读数:56

评论数:0

C语言 malloc 内存泄漏

错误代码如下: int Init_layer2_Decoder(void) { Stream = (struct mad_stream*)malloc(sizeof(struct mad_stream)); Frame = (struct mad_frame*)malloc(...

2018-03-18 20:33:29

阅读数:33

评论数:0

C语言变量声明加冒号的用法

原文链接:博客园 C语言变量声明加冒号的用法有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的...

2017-06-30 12:12:24

阅读数:267

评论数:0

C语言 查找字符串子串 返回位置

主要的思路就是,不断的从母串 str1 中取出和子串长度相等的临时子串 temp_str,与子串 str2 进行比较。没有找到子串,返回 -1;成功找到子串,返回子串首字母在母串中的位置,该位置从 0 开始。#include <stdio.h> #include <string....

2017-04-12 19:12:43

阅读数:6136

评论数:0

字符串指针与字符数组的区别

本文转自 CSDN 博客http://blog.csdn.net/okliujieko/article/details/6821321, 代码部分略作修改,从C++ 转成 C;修改了原文中的错别字;增加部分内容 用字符数组和字符指针变量都可实现字符串的存储和运算。但是两者是有区别的。在使用时...

2017-03-18 14:04:06

阅读数:273

评论数:0

C语言宏定义的几种简单用法

1、计算数组的大小 #define countof(a) (sizeof(a)/sizeof(*(a))) 2、转换大小写字母 #define FS_TOUPPER(x) ((((x) &amp;gt;= 'a') &amp;amp;&amp;amp; ((x)...

2016-11-29 16:49:35

阅读数:2795

评论数:0

不使用中间变量交换两数

交换两个数的值是比较基础也比较常用的算法,比如在冒泡排序法中,从第一数开始比较,如后一个数比其小则交换两数的值。一般在交换两数的值是,最简单的方法适用的方法就是用中间变量暂存一个数。例如,要交换a,b的值,可使用中间变量c暂存其中的一个数。 核心代码如下:c=b; b=a; a=b;当然也可以不...

2016-06-01 21:04:05

阅读数:792

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭