C/C++ Learning

您正在查看: 编程语言 分类下的文章

有关void *、(void (*)()) 、void (*)()

void指针是空类型指针,它不指向任何类型,即void指针仅仅是一个地址,所以空类型指针不能进行指针运算,也不能进行间接引用(因为指针运算和间接引用都需要指针的类型信息)。例如: void * p; //仅仅表示p存放一个地址 p++; //error:+、-运算离不开指针类型 *p=20.5; //error:访问p指向的变...阅读全文

linux内核list.h之链表list

1、数据结构struct list_head { struct list_head *next, *prev; }; 这里用一个list_head类型的结构体,它包含两个指向本身的指针prev和next,从而具备了双向链表的功能。与一般双向链表不同的是,该结构没有数据域。而它一般也是作为我们实际运用的双向链表中一个数据成员。例如:struct my_struct { stru...阅读全文

Typecho模板制作过程中的常见代码、插件、模板

一个很好的Typecho开发分享地址http://t.160.me/Code/阅读全文

25个常用的TYPECHO模板调用代码

1.自定义标题 <?php if($this->_currentPage>1) echo '第 '.$this->_currentPage.' 页 - '; ?> <?php $this->archiveTitle('', '', ' - '); ?><?php $this->options->title(); ?> &...阅读全文

8大经典排序算法-插入排序-直接插入排序(3)

插入类排序插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。插入排序一般意义上有两种:直接插入排序和希尔排序,下面分别介绍。直接插入排序基本思想:最基本的操作是将第i个记录插入到前面i-1个以排好序列的记录中。具体过程是:将第i个记录的关键字K依次与其前面的i-1个已经拍好序列的记录...阅读全文

8大经典排序算法-交换排序-快速排序(2)

基本思想:快速排序是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。实现:设要排序的数组是A[N],首先任意选取一个数据(通常选用第一个数据)作为关键数据,...阅读全文

8大经典排序算法-交换排序-冒泡(1)

算法一直是编程的基础,而排序算法是学习算法的开始,排序也是数据处理的重要内容。所谓排序是指将一个无序列整理成按非递减顺序排列的有序序列。排列的方法有很多,根据待排序序列的规模以及对数据的处理的要求,可以采用不同的排序方法。那么就整理下网上搜索的资料,按自己的理解,把C语言的8大排序算法列出来。普通意义上,排序算法可以分为三大类:1 交换类排序法2 插入类排序法3 选择类排序法一.交换类排序法...阅读全文

inline、__inline、__inline__、__forceinline、__attribute__((always_inline))编译器依赖

1、inline is the keyword, in C++ and C99.2、__inline is a vendor-specific(厂商特定) keyword (e.g. MSVC) for inline function in C, since C89 doesn't have it.3、__inline__ is similar to __inline but is from...阅读全文

gcc优化中的likely和unlikely

#ifdef __GNUC__ #define likely(x) __builtin_expect(!!(x), 1) #define unlikely(x) __builtin_expect(!!(x), 0) #else #define likely(x) (x) #define unlikely(x) (x) #...阅读全文

C与C++的10个主要不同点

如上图那样,C++,英文为c plus plus,它是C的超级,C++支持运行大部分C代码,而反过来C却不可以;这里例举了它们之间的主要10个不同点(为了不偏离原本的语意,直接上英文了):1、C follows the procedural programming paradigm while C++ is a multi-paradigm(多范式) language(procedural ...阅读全文