C/C++
Darcy_zz
有理想、有道德、有文化、有纪律的80后小青年...
展开
-
fgets() -- 读取文件的一行
#include int main(int argc, char **argv){ if (argc != 2) { printf("Please input filename\n"); return -1; }转载 2011-09-16 14:10:59 · 7373 阅读 · 0 评论 -
C/C++程序员是这样理解内存的
从C/C++程序的运行过程,讲解内存转载 2014-11-07 11:17:07 · 864 阅读 · 0 评论 -
C/C++值传递和引用传递
以下,是http://www.cnblogs.com/Mr-xu/archive/2012/08/07/2626973.html转载 2014-11-07 11:13:47 · 813 阅读 · 0 评论 -
C/C++各种数据类型长度
源代码#include "stdio.h"void main(){ printf("各种数据类型长度:\n\n"); printf("字符型: ------------- %d\n\n",sizeof(char)); printf("整型转载 2011-09-19 13:36:56 · 2326 阅读 · 0 评论 -
C/C++ 编译过程 学习资料
C/C++编译过程理解 - woaidongmao - C++博客转载 2014-09-16 15:14:51 · 796 阅读 · 0 评论 -
堆和栈的区别
定义:堆:是大家共有的空间,分全局堆和局部堆。全局堆就是所有没有分配的空间,局部堆就是用户分配的空间。堆在操作系统对进程初始化的时候分配,运行过程中也可以向系统要额外的堆,但是记得用完了要还给操作系统,要不然就是内存泄漏。栈:是个线程独有的,保存其运行状态和局部自动变量的。栈在线程开始的时候初始化,每个线程的栈互相独立,因此,栈是 thread safe的。每个C ++对象的数据成转载 2011-10-24 14:54:30 · 668 阅读 · 0 评论 -
static和extern的区别
static:一、在C中,static主要定义全局静态变量、定义局部静态变量、定义静态函数。1、定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点。 a.在全局区分配内存。 b.如果没有初始化,其默认值为0. c.该变量在本文件内从定义开始到文件结束可见。2、转载 2012-05-15 16:16:57 · 15684 阅读 · 0 评论 -
gdb 查看堆栈信息、加载core文件、连接到其它进程
当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。一、gdb 查看堆栈信息下面是一些查看函数调用栈信息的GDB命令:1、backtrace、bt打印当前的函数调用栈的所有信息。如:(gdb) bt#0 func (n=2转载 2012-05-15 16:41:00 · 30706 阅读 · 0 评论 -
C语言地址传递和值传递简析(基于堆栈的简析)
值传递过程中,被调函数的形参作为被调函数的局部变量处理,即在内存的堆栈中开辟空间以存放由主调函数放进来的实参的值,从而成为了实参的一个拷贝。值传递的特点是被调函数对形参的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。 而在地址传递过程中,被调函数的形参虽然也作为局部变量在堆栈中开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址。被调函数对形参的任何操作都被处理成间转载 2012-05-15 17:23:08 · 1050 阅读 · 0 评论 -
strstr和strncmp源码实现
extern char *strstr(char *s1, char *s2)用法:#include 功能: 找出s2字符串在s1字符串中第一次出现的位置(不包括s2的串结束符)返回结果:返回该位置的指针,如找不到,返回空指针。源码实现:char *strstr( const char *s1, const char *s2 ){ int len2; if (转载 2012-02-15 11:27:28 · 6251 阅读 · 1 评论 -
uint8_t / uint16_t / uint32_t /uint64_t 数据类型
在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等。咋一看,好像是个新的数据类型,不过C语言(nesc是C的扩展)里面好像没有这种数据类型啊!怎么又是u又是_t的?很多人有这样的疑问。论坛上就有人问:以*_t结尾的类型是不是都是long型的?在baidu上查一下,才找到答案,这时才发觉原来自己对C掌握的太少。那么_t的意思到底表示什么?具体的官方答案没有找到,不过我觉转载 2012-01-11 16:26:20 · 848 阅读 · 0 评论 -
Sizeof和strlen区别详解
简介 Pascal的一种内存容量度量函数: C语言中判断数据类型长度符编辑本段用法 Var a : array[1..10000] of longint; Begin Writeln(SizeOf(a)); End. 输出:40000 如果定义Integer,则输出:200转载 2011-11-10 16:27:29 · 597 阅读 · 0 评论 -
<sys/stat.h>的含义!
stat.h头文件,轻松获取文件属性以前还为了获取文件的长度,费劲从头读取一遍,一个一个字节的算。做webserver时候,发现原来stat函数可以返回一个结构,里面包括文件的全部属性。真是曲折啊。】#i ncludestat.h>int stat(const char *restrict pathname,struct stat *restrict buf);转载 2011-10-31 14:38:45 · 26205 阅读 · 0 评论 -
Linux下获得系统时间的C语言的实现方法
#include //C语言的头文件 #include //C语言的I/O void main() { time_t now; //实例化time_t结构 struct tm *timenow; //实例化tm结构指针 time(&now); //time函数读取现在的时间(国际标准时间非北京时间),然后传值给now timenow = localti转载 2011-10-20 14:18:05 · 453 阅读 · 0 评论 -
散列表(哈希表) 处理冲突的方法
通常有两类方法处理冲突:开放定址(Open Addressing)法和拉链(Chaining)法。前者是将所有结点均存放在散列表T[0..m-1]中;后者通常是将互为同义词的结点链成一个单链表,而将此链表的头指针放在散列表T[0..m-1]中。1、开放定址法(1)开放转载 2011-09-30 11:00:47 · 1585 阅读 · 0 评论 -
C指针,C语言中的指针详解
一、数组的指针、指针数组以及指向指针的指针 考虑数组的指针的时候我们要同时考虑类型和维数这两个属性。换一句话,就是说一个数组排除在其中存储的数值,那么可以用类型和维数来位置表示他的种类。A)一维数组 在c和c++中数组的指针就是数组的起始地址(也就第一个元素的转载 2011-09-22 15:37:07 · 914 阅读 · 0 评论 -
怎样不用中间变量temp 实现两个数交换
第一类方法也是常用的方法,通过多次的数值计算来完成交换,到现在知道的有下面三种:(1)加减法。 a = a + b; b = a - b; a = a - b;该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时转载 2011-09-21 15:11:34 · 583 阅读 · 0 评论 -
C++中的public、protected与private的类成员权限设置和继承方式
以下几篇结合看,参考:http://www.jizhuomi.com/software/96.htmlhttp://www.jizhuomi.com/software/98.htmlhttp://www.cnblogs.com/york-hust/archive/2012/06/01/2530799.htmlhttp://blog.163.com/clevertanglei900@转载 2014-11-27 09:38:38 · 3478 阅读 · 0 评论