技术洞见

一日一小步

struct用法深入探索

1. struct的巨大作用   面对一个人的大型C/C++程序时,只看其对struct的使用情况我们就可以对其编写者的编程经验进行评估。因为一个大型的C/C++程序,势必要涉及一些(甚至大量)进行数据组合的结构体,这些结构体可以将原本意义属于一个整体的数据组合在一起。从某种程度上来说,会不...

2014-08-26 15:04:12

阅读数:862

评论数:0

软件文档编写向导

文档分类 项目包括如下几类文档;   项目管理文档。包括:《软件项目计划》、《项目进度报告》、《项目开发总结报告》 软件开发文档。包括:《需求规格说明》、《概要设计说明》、《详细设计说明》。 软件测试文档。包括:《测试计划》、《软件测试分析报告》。 产品资料。包括:《用户操作手册》。 ...

2014-08-26 11:07:52

阅读数:930

评论数:0

STM32中assert_param的使用

在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程中的stm 32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义; 在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。     所谓有效的参...

2014-08-25 15:15:29

阅读数:750

评论数:0

C中的volatile用法

嵌入式编程中经常用到 volatile这个关键字,在网上查了下他的用法可以归结为以下两点: 一:告诉compiler不能做任何优化    比如要往某一地址送两指令:     int *ip =...; //设备地址     *ip = 1; //第一个指令     *ip = 2; //...

2014-08-25 14:59:29

阅读数:667

评论数:0

在C语言中嵌入汇编语言方法

两种方法在c语言中嵌入汇编:   (1) __asm(" 字符串序列"); 例如: __asm(" MOVN A,#1");   (2) #pragram asm        汇编语句      #pragram endasm 例如:  ...

2014-08-25 13:57:15

阅读数:735

评论数:0

enum与typedef enum的用法

在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可能是: #define MON  1 #define TUE   2 #define WED  3 #define THU   4 #define FRI    5 #define ...

2014-08-25 12:45:14

阅读数:669

评论数:0

关于c语言中负数位移位操作的漫谈

最近有个朋友在程序中使用了对16进制数做负数移位(编译器是gcc),本人最次产生好奇,所以研究了一些。 对一个数做负数位移位的操作是不规范的,但是是可行的。 具体例子: char tmp = 0x10; tmp = tmp 大家猜猜结果是什么,有人猜是tmp左移-1位不就是右移1位吗?结果是...

2014-07-02 22:01:17

阅读数:2500

评论数:1

如何解决程序退出重启后不能绑定端口的问题?

发现问题: 在Linux系统中,如果一个socket绑定了某个端口,该socket正常关闭或程序退出后,在一段时间内该端口依然保持被绑定的状态,其他程序(或者重新启动的原程序)无法绑定该端口。 解决方案: 可以在获得socket描述符之后通过调用setsockopt语句避免该问题: int soc...

2014-01-21 12:32:57

阅读数:1312

评论数:0

再论句子中单词的逆序输出

今天,有个朋友看了我的一篇关于将句子中单词次序翻转并输出的文章,说这个程序只做到了输出,没有存储,实用不大。链接在下面! http://blog.csdn.net/persistvonyao/article/details/16909199 对此,我思考良久,决心重写这个程序! 下面是我重写的程序...

2014-01-03 21:56:26

阅读数:1526

评论数:1

关于本地socket的举例详解

最近做的项目中碰到一个新的东西,叫做本地socket。查了好久的资料,也man unix 看了里面的介绍,还是不太理解本地socket怎么使用的。下面是我在网上找到的资料。经过本人的学习及程序运行,没有问题。觉得很不错,所以分享一下! 一、先说一下本地socket的来源: socket API原...

2013-12-18 16:13:28

阅读数:1889

评论数:0

内存拷贝函数的编写整理(很流行的面试题)

很多公司都喜欢出关于内存拷贝的这么一道题,下面是本人整理的关于内存拷贝函数编写的过程,仅供参考。 以下是我在一次模拟笔试中写的程序: void MyMemcpy(char *dst,char *src,int count) {     while(count--)     {         *d...

2013-12-04 23:00:21

阅读数:1366

评论数:0

c语言中的内存管理(重点:动态内存申请释放,野指针,指针函数)

内存分布: 代码区 全局变量与静态变量区(全局变量,字符串常量等) 局部变量区(栈区)(自动分配,自动回收) 动态存储区(堆区) 动态内存 1.内存申请malloc要注意:      1)参数:要申请空间的大小      2)返回值:void *       3)要加出错判断 2.内存释放fr...

2013-12-04 13:39:46

阅读数:1606

评论数:0

一个面试题:翻转句子中单词的顺序

题目要求: 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。(注意处理在输入字符串时的回车字符) 输入:需反转的字符串 输出:按照要求反转后的字符串 示例:例如输入“I am a student.”,则输出“stude...

2013-11-23 23:06:23

阅读数:1632

评论数:3

关于c语言中时间函数的一些归纳

头文件#include 概述: ctime(),gmtime(),localtime()函数都带有一个代表日历时间的time_t类型的参数。当要描述为一个绝对的值时,它代表从新纪元(1970年1月1日凌晨)开始到现在所流逝的秒数。 asctime()和mktime()函数带有一个参数代表修正时...

2013-11-21 12:33:03

阅读数:982

评论数:0

关于把字符串整数转换成整数的程序

前几天去了先锋商泰面试,在面试时做了一个把输入的整数(例如:4238)重新排序成2348输出的题目。 由于自己没有准备充分,只是把功能写出来了。后来没有拿到offer。 今天在看《剑指offer》时,发现自己少了很多边界条件和错误的处理。在剑指offer这本书上有个题目: 题目:把一个字符串转...

2013-11-14 14:41:13

阅读数:1322

评论数:4

关于strlen函数的一个问题

最近有个同学给了我一个这样的程序: #include #include int main(int argc, const char *argv[]) { char a[10] = "abcde"; char b[] = "abcdef";...

2013-11-13 20:13:58

阅读数:1077

评论数:0

字符串过滤

要求:通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 比如字符串“abacacde”过滤结果为“abcde”。 代码如下: #include #include int main(int argc, cons...

2013-11-03 10:40:31

阅读数:1149

评论数:2

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