
● 【C/C++】
文章平均质量分 84
唐大麦
只要往前走,就不会迟。精疲力尽的时侯应该选择休息,切不可放弃。
展开
-
让你不再害怕指针——C指针详解(经典,非常详细)
前言:复杂类型说明 要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样,所以我总结了一下其原则:从变量名处起,根据运算符优先级结合,一步一步分析.下面让我们先从简单的类型开始慢慢分析吧:int p; //这是一个普通的整型变量int转载 2016-04-12 10:53:34 · 526835 阅读 · 243 评论 -
c语言typedef的用法
一.基本概念剖析 int* (*a[5])(int, char*); //#1 void (*b[10]) (void (*)()); //#2 double(*)() (*pa)[9]; //#3 1.C语言中函数声明和数组声明。函数声明一般是这样:int fun(int, double);对应函数指针(pointer to functi转载 2016-04-14 09:30:24 · 1798 阅读 · 0 评论 -
int *p[3]和int (*p)[3] 的区别,举例说明
int *p[3] p是一个数组,此数组有3个元素,每个元素都是int*类型,也就是指向整型数据的指针类型。int a=10,b=20,c=30;int*p[3]={&a,&b,&c};而int(*p)[3]中的p是一个指向数组的指针,此数组有3个int类型的元素。例如:int a[3]={1,2,3}; 那么p就是指向这个数组a的指针。int(*p)[3]=&a;转载 2016-04-11 17:40:09 · 7959 阅读 · 2 评论 -
学点编码知识又不会死:Unicode的流言终结者和编码大揭秘
如果你是一个生活在2003年的程序员,却不了解字符、字符集、编码和Unicode这些基础知识。那你可要小心了,要是被我抓到你,我会让你在潜水艇里剥六个月洋葱来惩罚你。这个邪恶的恐吓是Joel Spolsky在十年前首次发出的。不幸的是,很多人认为他只是在开玩笑,因此,现在仍有许多人不能完全理解Unicode,以及Unicode, UTF-8, UTF-16之间的区别。这就是我写这篇文章的原因。转载 2016-04-15 14:55:57 · 1552 阅读 · 1 评论 -
malloc/free的用法详解
在C里,内存管理是通过专门的函数来实现。另外,为了兼容各种编程语言,操作系统提供的接口通常是 C语言写成的函数声明(Windows 本身也由C和汇编语言写成)。1 分配内存 malloc函数需要包含头文件: and 函数声明(函数原型)void *malloc(int size);说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型转载 2016-04-20 20:47:38 · 5561 阅读 · 0 评论 -
Linux进程分配内存的两种方式--brk() 和mmap()
如何查看进程发生缺页中断的次数? 用ps -o majflt,minflt -C program命令查看。 majflt代表major fault,中文名叫大错误,minflt代表minor fault,中文名叫小错误。 这两个数值表示一个进程自启动以来所发生的缺页中断的次数。发成缺页中断后,执行了那些操作?当一个进程发生缺页转载 2016-08-31 08:42:24 · 647 阅读 · 0 评论 -
Linux C程序的链接和装入及Linux下动态链接的实现-IBM
转自: http://www.ibm.com/developerworks/cn/linux/l-dynlink/程序的链接和装入存在着多种方法,而如今最为流行的当属动态链接、动态装入方法。本文首先回顾了链接器和装入器的基本工作原理及这一技术的发展历史,然后通过实际的例子剖析了Linux系统下动态链接的实现。了解底层关键技术的实现细节对系统分析和设计人员无疑是必须的,尤其当我们在面对实转载 2016-06-07 09:04:35 · 873 阅读 · 0 评论