C/C++基础知识
wuxianglonghaohao
这个作者很懒,什么都没留下…
展开
-
不使用C库函数实现strcat函数,充分考虑各种异常 (Freescale 合肥笔试)
今天参加freescale合肥的笔试,发现很多c语言的基础还是忘掉了,连strcat函数是干什么的都忘记了。strcat将两个字符串连接到一块。char* strcat(char * start,const char * end){ char * ptr=start; //存储首地址 if(start == NULL)原创 2013-09-26 23:33:53 · 1473 阅读 · 0 评论 -
零长度数组与柔性数组
作业部落 与 简书 同步发布零长度数组(Zero-length array)与柔性数组(Flexible array)GNU C允许使用零长度数组,它们非常有用。如下是一个零长度数组的应用,零长数组在有固定头部的可变对象上非常有用。struct line{ int len; char contents[0]};零长数组使用的优缺点:优点不需要使用指针来分配内原创 2015-03-16 17:14:31 · 764 阅读 · 0 评论 -
一个强制类型转换的问题
上周五晚上在公司加班,遇到一个bug,当时由公司大牛解决了,但是回想起来还是ganjue原创 2014-11-24 09:48:09 · 850 阅读 · 0 评论 -
如何实现可变参数函数
http://blog.163.com/liuqiang_mail@126/blog/static/1099688752012102335624938/通常我们使用的C函数的参数个数都是固定的,但也有不固定的。比如printf()与scanf()。如何自己动手实现一个可变参数函数,这个还是有点技巧的。我们最常用的就是定义一个宏,使用printf或者printk,如下转载 2014-10-24 10:17:13 · 666 阅读 · 0 评论 -
C语言有哪些鲜为人知的特性?
http://blog.jobbole.com/77321/本文由 伯乐在线 - Lingfeng Ai 翻译自 Quora。未经许可,禁止转载!欢迎加入:技术翻译小组,或分享原创到伯乐头条。译注:本文摘编自 Quora 的一个热门问答贴。 请在linux系统下测试本文中出现的代码Andrew Weimholt 的回复:switch语句中转载 2014-09-28 09:16:49 · 1084 阅读 · 1 评论 -
转 C语言预处理功能——关于字符串化和符号粘贴
http://blog.chinaunix.net/uid-20554957-id-3430791.htmlC语言预处理功能——关于字符串化和符号粘贴在C语言开发中,宏定义是一个非常有用的工具,它可以使我们的代码更容易理解,更容易维护。如查一个常量在多处被使用,且今后可能会根据不同需要而 修改的话,将其define一下那是再好不过了。除此之外,宏定义还有其他转载 2014-08-21 09:17:26 · 847 阅读 · 0 评论 -
彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则
http://www.cnblogs.com/ForEverKissing/archive/2008/07/21/1247633.html一 :关于指针和堆的内存分配先来介绍一下指针: 指针一种类型,理论上来说它包含其他变量的地址,因此有的书上也叫它:地址变量。既然指针是一个类型,是类型就有大小,在达内的服务器上或者普通的PC机上,都是4个字节大小,里边只是存储了一个变转载 2014-08-04 17:03:46 · 509 阅读 · 0 评论 -
推荐一个不错的网站
今天推荐一个很好的网站:https://www.cert.org/CERT原创 2014-06-13 11:34:38 · 2220 阅读 · 0 评论 -
如何实现可变参数函数
http://blog.163.com/liuqiang_mail@126/blog/static/1099688752012102335624938/ 通常我们使用的C函数的参数个数都是固定的,但也有不固定的。比如printf()与scanf()。如何自己动手实现一个可变参数函数,这个还是有点技巧的。我们最常用的就是定义一个宏,使用printf或者printk,如下转载 2014-06-25 09:51:55 · 974 阅读 · 0 评论 -
编写可变参数c函数
前言:本文在很大程度上改编自网友kevintz的“C语言中可变参数的用法”一文,在行文之前先向这位前辈表示真诚的敬意和感谢。一、什么是可变参数我们在C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为:int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的(用三转载 2014-04-12 15:39:29 · 706 阅读 · 0 评论 -
反转比特位(文章最后有干货)
http://www.newhottopic.com/2014/03/20/reverse-bits/ 把一个无符号整数的比特位反转顺序。有很多种方法来实现这个。我们这里给出一个算法:通过异或运算来交换,然后用分治方法来优化它。提示:你怎么把第i个和第j个位置的bit给交换了呢?如果你能用异或来实现,试着给出算法。异或交换的小技巧:如果一共有n个bit,反转它可以通过最转载 2014-03-20 11:07:02 · 3493 阅读 · 0 评论 -
C/C++开发者必不可少的15款编译器+IDE
http://www.csdn.net/article/2014-02-27/2818564-best-compilers-and-ides-for-c-programmers摘要:C/C++这两门语言依然活跃在编程领域里,其不仅拥有强大的功能集,而且还提供了强大的安全保障。为此,笔者专为C/C++编码者收集了15款令人印象深刻的IDE和编译器。Web开发者可选择的编程语言有很多比转载 2014-02-28 22:00:45 · 908 阅读 · 0 评论 -
C++11语言扩展:常规特性
原文链接: isocpp 翻译: 伯乐在线 - christian译文链接: http://blog.jobbole.com/55063/[ 转载必须在正文中标注并保留原文链接、译文链接和译者等信息。]本节内容:auto、decltype、基于范围的for语句、初始化列表、统一初始化语法和语义、右值引用和移动语义、Lambdas、noexcept防止抛出异常转载 2014-01-15 11:05:03 · 658 阅读 · 0 评论 -
为什么大神级程序的C语言代码里到处都是goto?
http://ourjs.com/detail/52ce07eb2caee88b29000002原文 stackoverflow.com当我学C语言时,老师整天告诉我:“不要使用goto, 这是一个坏习惯, 这种写法很烂,而且很危险!”等等。但是为什么那么多内核程序员那么喜欢用goto呢?在这段linux内核 https://github.com/torvalds/linux/bl转载 2014-01-09 13:38:23 · 1449 阅读 · 0 评论 -
存储类、链接和内存管理
作业部落 与 简书 同步发布CH12 存储类、链接和内存管理作用域(scope)代码块作用域(block scope): 包含在开始花括号{和对应结束花括号}之内的一段代码。 传统上,具有代码块作用域的变量都必须在代码块的开始处进行声明。C99放宽了这以规则,允许在一个代码块的任何位置声明变量。你一定见过类似这样的代码:for(int i=0; i<10; i++) printf("A原创 2015-03-16 18:23:11 · 776 阅读 · 0 评论