
C
文章平均质量分 79
高达一号
这个作者很懒,什么都没留下…
展开
-
C/C++__typedef用法
1.常规变量类型定义例如:typedef unsigned char uchar描述:uchar等价于unsigned char类型定义 uchar c声明等于unsigned char c声明2.数组类型定义例如: typedef int array[2];描述: array等价于 int [2]定义; array a声明等价于int a[2]声明扩展: ty转载 2015-09-18 10:31:31 · 587 阅读 · 0 评论 -
C/C++__基础类型的(=)赋值表达式的返回值
今天遇到了一段代码对赋值运算符之后的表达式进行判断,由于之前没接触过类似的代码,特此记录。if ((pTmpBuf = pBuf) != NULL)结论: C/C++中 (A = B) 返回得到是赋值号(=)的左面的值代码如下 :if ((nStatus == NERR_Success) || (nStatus == ERROR_MORE_原创 2015-09-17 11:42:13 · 6768 阅读 · 3 评论 -
C语言文件操作 fopen, fclose, mkdir(打开关闭文件,建文件夹,判断文件是否存在可读或可写)
1.建文件夹int _mkdir(const char *path,mode_t mode);函数名: _mkdir 功 能: 建立一个目录 用 法: int _mkdir( const char *dirname ); 头文件库:direct.h 返回值:创建一个目录,若成功则返回0,否则返回-1==========================转载 2015-08-13 20:58:51 · 2398 阅读 · 0 评论 -
C/C++关键字中的extern 和 static
extern 关键字的用法,示例:在tet.cpp中声明了一个变量,而想在main的主文件中使用这个变量,就可以使用extern关键字来找到这个变量。不需要包含 .h 的方法。项目目录:tet.cppint a = 5;static int z = 7;void swap_b(int a, int b){ int temp; temp = a; a = b;原创 2015-08-10 16:52:16 · 664 阅读 · 0 评论 -
C/C++_宏定义多次重复定义
$MS编译器下宏多次重复定义以最后的作为标准#include using namespace std;#define MAX 5#define MAX 4#define MAX 3int main(){ printf("%d\n", MAX); return 0;}原创 2015-09-10 18:18:32 · 17695 阅读 · 0 评论 -
C/C++_文件重定向的几种方式
这篇文章也谈不上原创,只是总结了C/C++文件重定向的几种方式:注意:转载地址:源地址:http://blog.youkuaiyun.com/chinabinlang/article/details/6408575 www.cnblogs.com/submarinex/ 方法一:#include转载 2015-09-01 17:30:49 · 5000 阅读 · 0 评论 -
C/C++_中NULL与空字符串的区别
今天遇到一个问题认识到C/C++中 NULL 与 空字符串 "" 是不相同的总结如下:空字符串是"",会创建一个对象,内容是"",有内存空间。而NULL,不会创建对象,没有内存空间。形象的比喻:"" 相当于我的钱包里没钱 NULL 相当于我没有钱包 遇到的问题化简如下:利用strcpy进行字符串的复制strcpy不能用NULL作为源原创 2015-08-28 16:37:17 · 20757 阅读 · 1 评论 -
C++/C语言_宏函数存在的问题
C语言中的宏函数可以简化我们的操作。但是存在一定的问题,宏函数是不能使用++a/a++,--a/a--这种形式的。这样会导致BUG(所得到的结果与预想结果不一致)。原因就是宏函数是进行的文本拷贝,而不是传递的参数。示例代码如下:#include using namespace std;#define SQUARE(X) ((X)*(X))原创 2015-08-10 10:31:55 · 1579 阅读 · 0 评论 -
C/C++__带参数的main函数
通过win32控制台的main函数的参数,我们可以对文件等数据进行处理main函数可以不带参数,也可以带参数,这个参数可以认为是 main函数的形式参数。C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个原创 2015-07-27 18:13:10 · 3452 阅读 · 0 评论 -
C/C++__string与字符串的转换问题
1、首先必须了解,string可以被看成是以字符为元素的一种容器。字符构成序列(字符串)。有时候在字符序列中进行遍历,标准的string类提供了STL容器接口。具有一些成员函数比如begin()、end(),迭代器可以根据他们进行定位。注意,与char*不同的是,string不一定以NULL('\0')结束。string长度可以根据length()得到,string可以根据下标访问。所以,转载 2015-05-15 10:45:21 · 4502 阅读 · 1 评论 -
C_C++_Java Java利用JNI调用C的函数
大神博客:http://blog.sina.com.cn/s/blog_4bb52a1601012x8j.html主要步骤一 声明一个Java类,将其中的需要C实现的函数声明为native二 用javac 编译 .java文件生成一个 .class文件三 用javah 编译 生成C/C++的头文件.h四 创建动态链接库项目并包含必要的java的.h文件注意事项--1.头原创 2015-11-05 21:58:05 · 645 阅读 · 0 评论 -
C__函数中的静态变量_static
C语言中的静态函数中的局部变量可以当做计数器用来计算函数被调用的次数。示例代码:#include using namespace std;int Add(int temp){ static int sum = 0; sum += temp; return sum;}int main(){ cout << Add(2) << endl; cout << Add(3原创 2015-10-08 21:15:19 · 1413 阅读 · 0 评论 -
C__ Linux C 中__user的含义
今天看了一段代码对其中的一些语法不太明白,特此记录一下:实际上linux C 中的 __user 就是一个标记,相当于注释.#include using namespace std;#define __uservoid print(void* p){ int* s = (int*)p; printf("%d",*s);}int main(){ int a = 3;原创 2015-11-10 15:07:33 · 4097 阅读 · 0 评论 -
C__简单的二位数组实现string_list
实现了一个简单的char二维数组函数,传入二维数组,打印二维数组的内容。#include #define VEINKAPI __callback#define INtypedef int YNHANDLE;VEINKAPI void PrepareList(IN int fingercount, IN char **fingerlist, IN char** namelist){原创 2015-11-13 14:11:57 · 657 阅读 · 0 评论 -
C_C++_Java_简单题_for的流程
for(a;b;c)for 的流程相当于 while..do 结构,先判断条件是否满足,之后才执行步骤。for 最先执行a 部分(进行初始化),之后进行逻辑判断(b部分),接下来运行内部逻辑 ,之后运行 for 的对数据修改( c 部分);之后运行for 的 逻辑判断(b 部分),运行 for 的内部逻辑, 运行 对数据修改 (c 部分);。。。。。。如此反复,直至b部分不原创 2015-10-30 11:10:24 · 563 阅读 · 0 评论 -
C++_wcout / C_wprintf (wcout输出中文)
int _tmain(int argc, _TCHAR* argv[]){ wcout.imbue(std::locale("chs")); wstring s = (L"我爱"); wcout wcout system("pause"); return 0;} iostream、printf/wprintf和中文输出转载 2015-09-18 12:09:13 · 6570 阅读 · 1 评论 -
C/C++__函数指针
学好函数指针有着较为重要的意义,如Windows编程中WNDCLASS结构体的 lpfnWndProc 成员就是一个函数指针,下面介绍简单的函数指针应用。void ToUpper(char *);void ToLower(char *);int round(double);/***声明了一个名为pf的函数指针, 该函数指针可以指向一个函数*该函数特点:返回值原创 2015-07-28 09:49:27 · 856 阅读 · 0 评论 -
C/C++_static函数与普通函数
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不转载 2015-08-10 16:33:43 · 4765 阅读 · 0 评论 -
C/C++ static使用方法注意
static 貌似声明在结构体数组中是不可以的。#include #include using namespace std;#define MAXN 255typedef struct PP{ int b; static int c;}P;int main(){ P K[MAXN]; K[1].c = 4; printf("%d\n", K[2].c); re原创 2015-08-10 20:43:02 · 617 阅读 · 0 评论 -
C/C++_sizeof的本质与使用注意事项
Tag: program转自:http://rabbitlzx.blogbus.com/logs/2006/03/2094407.html1、什么是sizeof 首先看一下sizeof在msdn上的定义: The sizeof keyword gives the amount of storage, in bytes, associated wi转载 2015-07-31 14:58:00 · 1621 阅读 · 1 评论 -
C/C++__字符串的结束符“\0”到底是什么
一直对字符串的结束符"\0"的具体意义感到困惑,今天实际测试了一下,最终我找出来了答案。#include #include #pragma warning(disable:4996)#define MAXN 2000int main(int argc, char **argv){ char szFileName[MAXN] = "\0"; //char szFile原创 2015-07-27 17:52:47 · 22075 阅读 · 0 评论 -
C_printf中的%p的实质
格式控制符“%p”中的p是pointer(指针)的缩写。指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数。printf函数族中对于%p一般以十六进制整数方式输出指针的值。示例:#include #include int main(){ int *p = new int; int a = 4; printf("%04d\n原创 2015-07-23 17:49:55 · 20279 阅读 · 4 评论 -
C__删除文件操作
用remove函数功 能: 删除一个文件 用 法: int remove( const char *filename);头文件:在Visual C++ 6.0中可以用stdio.h返回值:如果删除成功,remove返回0,否则返回EOF(-1)。例:#include int main(){ if(remove("1.txt")) printf("Could not de转载 2015-05-15 17:00:35 · 6777 阅读 · 0 评论 -
C/C++_两种函数不能重载的情况
情况一: 参数完全相同,只有返回值不同示例 :void print();int print();由于只有返回值不同故无法区分到底调用那个函数,因此不能重载情况二: 语意不明确示例:KK(int x , int y = 10){this->x = 10;this->y = y;}KK(int x){this->x = 10;this-原创 2015-07-28 14:58:57 · 11246 阅读 · 0 评论 -
C/C++__如何创建一个空字符串数组
字符串数组在使用前应进行初始化操作。下面介绍两种创建空字符串数组的方法初始化方法1char szFileName[MAXN] = {0} /**其结果相当于memset(szFileName,0,sizoef(szFileName));*即对字符串数组中的每个数据都初始化为(ASCII)0 即 "\0" **/初始化方法2c原创 2015-07-27 17:38:05 · 26587 阅读 · 1 评论 -
C__数据类型的强制转换
不同大小的数据类型不能强制转换#include #include using namespace std;struct pk{ int d; int a;};int main(){ pk b; int destory = (int)b; return 0;}但是数据大小相同的数据类型就可以进行强制类型转换,即使这两种数据类型是指针与结构体或者in原创 2015-07-23 18:14:45 · 1023 阅读 · 0 评论 -
C_获得当前的工作路径 _getcwd()函数:取得当前的工作目录
相关函数:get_current_dir_name, getwd, chdir头文件:#include 定义函数:char * getcwd(char * buf, size_t size);函数说明:getcwd()会将当前的工作目录绝对路径复制到参数buf 所指的内存空间,参数size 为buf 的空间大小。注:1、在调用此函数时,buf 所指的内存空间要足转载 2015-08-14 08:44:58 · 14543 阅读 · 0 评论 -
C/C++, ","逗号运算符, 基本类型数据的初始化声明
"," 逗号运算符可以完成两个语句的连接,完成相当于在一个语句中完成两个语句的任务。但是以下情况不行,数据的初始化声明运用到“,”运算符只能完成一种数据的声明与初始化。#include using namespace std;int main(){ int i = 0, int j = 0; cout << i << " " << j << endl; return原创 2015-08-10 08:48:06 · 1764 阅读 · 0 评论 -
C_动态内存分配,malloc/free
malloc函数原型extern void *malloc(unsigned int num_bytes);头文件#include 功能分配长度为num_bytes字节的内存块返回值如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。函数原创 2015-07-31 15:25:49 · 1296 阅读 · 0 评论 -
C语言_为什么字符串可以赋值给字符指针变量,字符串的属性及存放位置
C语言中,为什么字符串可以赋值给字符指针变量本文是通过几篇转帖的文章整理而成的,内容稍有修改:一、C语言中,为什么字符串可以赋值给字符指针变量char *p,a='5';p=&a; //显然是正确的,p="abcd"; //但为什么也可以这样赋值??问:一直理解不了为什么可以将字串常量转载 2015-08-29 15:18:59 · 3668 阅读 · 1 评论 -
C/C++_位运算符 与 逻辑运算符的区别
逻辑运算符有 || ,&&, != , ! 表示条件判断,常来用作条件的选择。位运算符有 |, &, ~等。编程习惯注意 : |(或运算符)与 ||(逻辑或)是不一致的。 |(或运算)主要对位进行或操作,例如 0010(B) | 0001(B) , 则对应的位置如果不同则为1,上式的结果为 0011(B).示例:| 运算符常用来做位的原创 2015-08-04 17:33:43 · 4462 阅读 · 0 评论 -
C_C++_Java_JavaScript_逗号表达式
对逗号表达式的支持C/C++ 支持JavaScript 不支持Java 支持示例代码:C++#include using namespace std;int main(){ while (true, 2, false){ cout << "xx" << endl; } cout << "end of loop" << endl; int x原创 2015-11-05 10:27:49 · 850 阅读 · 0 评论