
C
文章平均质量分 69
jfkidear
这个作者很懒,什么都没留下…
展开
-
内存泄漏的原因
1.new,malloc后没有delete,free2.创建内核对象(比如CreateFile,CreateMutex,CreateThread),后没有释放内核对象句柄.3.创建内存映射文件,CreateFileMapping,MapViewOfFile后没有C转载 2011-08-31 19:56:27 · 1624 阅读 · 0 评论 -
linux下用c发邮件
http://www.etpan.org/https://github.com/dinhviethoa/libetpan/blob/master/tests/smtpsend.clinux, 邮件, 自动转载 2011-09-22 18:15:11 · 3862 阅读 · 0 评论 -
关于头文件中定义的全局变量的包含
在头文件中定义了一个变量,若另一个文件再“int 变量名”,则会再产生一个相同变量的定义,在linux环境中编译时会发生如menu.o:(.sbss+0x0): multiple definition of `is_refresh_living_time_thread_created'main.o:(.sbss+0x0): first defined here的错误,要在包含该转载 2011-10-20 10:12:40 · 1002 阅读 · 0 评论 -
头文件中定义变量
我在head.h中定义一个变量int head_value1 = 1;int head_value2;请问,我在源文件中像下面的方法使用是否正确?//file.cvoid pf(){ head_value1 = 10; head_value2 = 20; printf("Source file head_value1 = %d : head_v转载 2011-11-22 16:01:41 · 1222 阅读 · 0 评论 -
字符指针的初始化
字符指针的初始化(2006-8-4 16:04:00)【收藏】 【评论】 【打印】 【关闭】初学者经常被这个问题所困惑:char *p="abc"==>"abc"是一个const char*,为什么能够赋值给char *? 很多论坛上都可以看到这样的提问帖,不过这些帖子有的讲的是错误的,有的虽然是对的,但是讲的不细致,初学者不好理解。对此,我转载 2011-11-28 10:53:40 · 7460 阅读 · 2 评论 -
C语言字节对齐详解
C语言字节对齐详解分类: C2008-04-02 12:20 7719人阅读 评论(17) 收藏 举报一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排转载 2012-02-01 16:37:27 · 397 阅读 · 0 评论 -
指向结构体类型数据的指针
指向结构体类型数据的指针 11.6 指向结构体类型数据的指针 一个结构体变量的指针就是该变量所占据的内存段的起始地址。可以设一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。指针变量也可以用来指向结构体数组中的元素。 11.6.1 指向结构体变量的指针下面通过一个转载 2012-03-06 18:42:46 · 1350 阅读 · 0 评论 -
getchar 函数使用注意事项
#include void main(){ char a,b; printf("enter char:"); a=getchar(); printf("%c\n",a); printf("enter char:"); b=getchar(); printf("%c\n",b);}按常理来说,当我们编译运行以后,在界面中输入一个字符,屏幕将打印出一个字符,再转载 2012-08-02 17:32:30 · 2140 阅读 · 1 评论 -
EOF
在计算机术语缩写通常为EOF(End Of File),在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。 在C语言中,或更精确地说成C标准函式库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码转载 2012-08-02 17:47:24 · 836 阅读 · 0 评论 -
字符串读写函数fgets
字符串读写函数fgets一、读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针); 其中的n是一个正整数。表示从文件中读出的字符串不超过 n-1个字符。在读入的最后一个字符后加上串结束标志'\0'。例如:fgets(str,n,fp);的意义是从fp所指的文件中读出n-1个字符送入 字符数组str中。转载 2012-08-02 17:56:09 · 4805 阅读 · 0 评论 -
c/c++内存机制(一)(原)
博问闪存首页新随笔联系管理随笔- 72 文章- 8 评论- 78 c/c++内存机制(一)(原)一:C语言中的内存机制在C语言中,内存主要分为如下5个存储区:(1)栈(Stack):位于函数内的局部变量(包括函数实参),由编译器负责分配释放,函数结束,栈变量失效。(2)堆(Heap):由程序员用malloc/calloc/转载 2012-08-06 22:33:33 · 1012 阅读 · 0 评论 -
c和c++混合编译的问题(extern "C")
c和c++混合编译的问题(extern "C")2008-10-21 14:51 480人阅读 评论(0) 收藏 举报 1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而转载 2012-07-29 12:07:47 · 1140 阅读 · 0 评论 -
C++项目中的extern "C" {}
C++项目中的extern "C" {}2010-07-10 19:45 by 吴秦, 11297 阅读, 13 评论, 收藏, 编辑引言在用C++的项目源码中,经常会不可避免的会看到下面的代码:?123456789#ifdef __cplusplus转载 2012-07-29 12:21:46 · 956 阅读 · 0 评论 -
在C语言里没有C++所谓的“按引用传递”
在C语言里没有C++所谓的“按引用传递”转载 2012-07-29 11:36:36 · 1108 阅读 · 0 评论 -
C语言中return,exit,和break
C语言中return,exit,和break2011-03-30 16:09 889人阅读 评论(0) 收藏 举报C语言中的return,exit,break,continue。前两个函数使用的同时通常都会带上程序退出时的状态码,标准C中有EXIT_SUCCESS和EXIT_FAILURE两个宏,位于/usr/include/stdlib.h中。是这样定义的的:#def转载 2012-08-14 21:30:46 · 1334 阅读 · 0 评论 -
static用法小结
static用法小结2006-04-14 10:12 5233人阅读 评论(5) 收藏 举报static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种在C/C++语言中使用, 第三种只在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准).(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数下面就这三转载 2012-08-14 23:44:38 · 576 阅读 · 0 评论 -
static函数
static函数 (2008-07-10 15:05:19)转载▼标签: it分类: cstatic修饰符是一个能够减少此类命名冲突的有用工具。例如,以下声明语句static int a;其含义与下面的语句相同int a;只不过,a的作用域限制在一个源文件内,对于其他源文件,a是不可转载 2012-08-14 23:45:15 · 923 阅读 · 0 评论 -
关于typedef的用法总结
关于typedef的用法总结 不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我转载 2012-08-29 09:04:19 · 783 阅读 · 1 评论 -
toupper <ctype.h> <cctype>
toupper 分类: C2011-11-18 00:35 236人阅读 评论(0) 收藏 举报原文:http://www.cplusplus.com/reference/clibrary/cctype/toupper/int toupper ( int c );将小写字母转换成大写字母如果参数c是小写字母,将参数c转换成对应的大写字母。如果不能转转载 2012-08-20 23:12:50 · 1598 阅读 · 0 评论 -
Linux下Socket相关头文件总结
Linux下Socket相关头文件总结分类: Linux及Web服务器管理2010-11-17 11:48 1149人阅读 评论(0) 收藏 举报一 三种类型的套接字:1.流式套接字(SOCKET_STREAM) 提供面向连接的可靠的数据传输服务。数据被看作是字节流,无长度限制。例如FTP协议就采用这种。2.数据报式套接字(SOCKET_DGRAM)转载 2012-08-20 23:13:28 · 868 阅读 · 0 评论 -
exit()与atexit()
exit()与atexit()分类: C/C++2012-04-06 09:11 48人阅读 评论(0) 收藏 举报1. exit()函数:void exit(int state); 用于在程序运行的过程中随时结束程序,exit的参数state是返回给操作系统,返回0表示程序正常结束,非0表示程序非正常结束。 一个函数中转载 2012-08-16 20:46:23 · 1623 阅读 · 0 评论 -
c语言的自动类型转换
c语言的自动类型转换2009-12-16 09:53 1292人阅读 评论(4) 收藏 举报自动转换遵循以下规则:1) 若参与运算量的类型不同,则先转换成同一类型,然后进行运算。2) 转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。 a.若两种类型的字节数不同,转换转载 2012-08-20 20:43:16 · 1205 阅读 · 0 评论 -
详解link
详解link详解link有些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错误信息不能定位到某一行)。或者对语言的一些部分不知道为什么要(或者不要)这样那样设计。了解本文之后,或许会有一些答案。 首先看看我们是如何写一个程序的。如果你在使用某种IDE(转载 2012-09-29 12:45:32 · 549 阅读 · 0 评论 -
匿名 Namespace和static 的区别
匿名 Namespace和static 的区别C++的链接性质,也就是translation unit的作用范围。在C中,给全局变量,函数,加上 static,表示当前函数和变量的linkage 为 internal,这样,就可以在不同的unit 中定义同名的函数和变量了。但是,加了static 的函数和变量就不用作为模板费类型参数了。(模板的非类型参数,必须是编译期确定的,e转载 2012-09-29 12:36:20 · 704 阅读 · 0 评论 -
用static声明的函数和变量小结
用static声明的函数和变量小结static 声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。 A.若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局转载 2012-10-09 14:52:52 · 6774 阅读 · 0 评论 -
uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结,看完全明白了
uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结,看完全明白了2011-08-02 20:57 2776人阅读 评论(1) 收藏 举报uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等。咋一看,好像是个新转载 2012-09-18 10:30:26 · 1779 阅读 · 0 评论 -
C语言的那些秘密之---函数返回局部变量
C语言的那些秘密之---函数返回局部变量分类: 编程语言2011-08-17 13:06 1215人阅读 评论(3) 收藏 举报 一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因转载 2012-09-23 13:47:15 · 753 阅读 · 0 评论 -
函数返回 局部变量问题
函数返回 局部变量问题分类: 日志2010-01-09 23:33 1249人阅读 评论(0) 收藏 举报#include stdio.h>#include string.h>char* get_str(void){ char* str = "abcd"; return str;}int mai转载 2012-09-23 13:54:50 · 627 阅读 · 0 评论 -
宏定义
宏定义宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译。1.不带参数的宏定义:宏定义又称为宏代换、宏替换,简称“宏”。 格式: #define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”,字符串可以是常数、表达式、格式串等。 在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“转载 2012-09-24 10:50:15 · 1183 阅读 · 0 评论 -
位结构
位结构分类: C/C++2011-09-23 09:49 183人阅读 评论(0) 收藏 举报位结构是一种特殊的结构, 在需按位访问一个字节或字的多个位时, 位结构 比按位运算符更加方便。位结构定义的一般形式为: struct位结构名{ 数据类型 变量名: 整型常数; 数据类型 变量名: 整型常数;转载 2012-09-23 21:08:11 · 866 阅读 · 0 评论 -
break和continue区别及使用场合
break和continue区别及使用场合几乎所有程序语言都有break和continue语句,可见它们的重要性,即使不重要相信也是够实用的吧。但是在真正的开发过程中,又有多少人会忽视它们的用法呢?相信初学者或者不关心程序优化的人应该对其了解的比较肤浅。本文力图通过实例加使用场合详解来引导菜鸟重新认识break和continue语句。注意:为了方便演示,本文例子选择我喜爱的转载 2012-09-24 22:29:33 · 748 阅读 · 0 评论 -
c_str函数
c_str c_str函数的返回值是const char*的,不能直接赋值给char*,所以就需要我们进行相应的操作转化,下面就是这一转化过程。 c++语言提供了两种字符串实现,其中较原始的一种只是字符串的c语言实现。与C语言的其他部分一样,它在c++的所有实现中可用,我们将这种实现提供的字符串对象,归为c-串,每个c-串char*类型的。 标准头文件转载 2012-09-25 16:59:19 · 880 阅读 · 0 评论 -
string中c_str()、data()、copy(p,n)函数的用法
string中c_str()、data()、copy(p,n)函数的用法标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。1. c_str():生成一个const char*指针,指向以空字符终止的数组。注:①这个数组的数据是临时的,当有一个改变这些数据的成员函数被调用转载 2012-09-25 16:58:40 · 1724 阅读 · 0 评论 -
函数返回值为引用类型
函数返回值为引用类型?#include#include#includeusing namespace std;ofstream out("test.out");class A{ public: string id;转载 2012-10-21 21:50:16 · 1134 阅读 · 0 评论 -
函数返回引用和指针类型
函数返回引用和指针类型#include #include #include char *g(){ char p[]="heel"; return p; }void main(){ char *str=g(); cout printf("printf\n"); cout}结果如下:hprintf转载 2012-10-21 21:50:42 · 679 阅读 · 0 评论 -
用引用返回值(转)
用引用返回值(转)分类: C++学习2010-08-27 11:59 908人阅读 评论(1) 收藏 举报 函数返回值时,要生成一个值的副本。而用引用返回值时,不生成值的副本。 例如,下面的程序是有关引用返回的4种形式: //********************* //** ch9_6.cpp ** //***********转载 2012-10-21 22:15:28 · 702 阅读 · 0 评论 -
undefined reference to" 问题解决
undefined reference to" 问题解决2012-03-07 20:13 15671人阅读 评论(7) 收藏 举报 最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13): undefined reference to `func' 关于undefined reference这转载 2012-11-25 15:08:11 · 823 阅读 · 0 评论 -
线程局部变量与 __thread
线程局部变量与 __thread五竹线程局部变量与 __thread–五竹,20120/9/03现在使用多线程开发越来越普遍, 为了提高性能,性能局部变量使用也非常普遍.如线程私有的成员变量,buffer等.本文首先介绍线程局部变量的2 种使用方法:1). 常规的使用方式: 相对复杂2). __thread 修饰符: 使用简单,但容易不正确使用转载 2012-12-05 17:44:28 · 2367 阅读 · 0 评论 -
#include 搜索路径
#include 搜索路径2012-02-08 17:13 174人阅读 评论(0) 收藏 举报C中可以通过 #include 和 #include "stidio.h" ,区别是:#include ,直接到系统指定目录去查找头文件。#include "stidio.h" ,会先到当前目录查找头文件,如果没找到在到系统指定目录查找。gcc编译时查找头文件转载 2012-12-05 17:03:01 · 6154 阅读 · 1 评论 -
gcc中include文件的搜索路径
gcc中include文件的搜索路径这是一个不复杂的问题;但是网上很多回答都不全面;偶找了一个比较全面的(测试过):引用http://blog.youkuaiyun.com/fjb2080/archive/2010/01/23/5247494.aspx#include有两种形式,例如如下:#include #include "userhead.h"用尖括号表示的是包含系转载 2012-12-05 17:02:20 · 1066 阅读 · 0 评论