C
u010807846
这个作者很懒,什么都没留下…
展开
-
C语言 内存操作函数
1. 名称:malloc / calloc 功能:动态内存分配函数头文件:#include 函数原型:void *malloc(size_t size);void *calloc(int num, size_t size);其中:num为分配内存块的个数,size为分配内存块的大小返回值:分配成功返回分配内存块的首地址,失败返回NULL。区别:(转载 2014-07-17 18:28:47 · 740 阅读 · 0 评论 -
VS中, 缺少“;”(在“类型”的前面)问题
#include #include int main(){ char *a; int len = sizeof(a); printf("length is %d\n", len); int b = 5; printf("b = %d\n", b++); printf("b = %d\n", b); Sleep(10000); }就上述代码,复制粘贴另存为test.原创 2015-06-23 18:35:44 · 6582 阅读 · 1 评论 -
细说一下 int 所占长度
http://charlesxie.blog.51cto.com/2236179/939680最近在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。后来,查了The C Programming language这本书,里面有一句话是这样的:Each compiler is free to choose appropriate sizes for转载 2015-06-23 14:46:54 · 907 阅读 · 0 评论 -
linux下select函数
分享,让这个世界更美好!不废话,直接上!#include #include #include int select(nfds, readfds, writefds, exceptfds, timeout) ndfs:select监视的文件句柄数,视进程中打开的文件数而定,一般设为呢要监视各文件中的最大文件号加一。 readfds:select监视的可原创 2014-12-17 15:33:05 · 452 阅读 · 0 评论 -
数组指针和指针数组
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;原创 2014-11-08 12:28:59 · 353 阅读 · 0 评论 -
#ifdef(#ifndef), #if, #else, #endif
#ifdef(#ifndef),#else,#endif,#if等都属于预处理条件编译的命令。预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作。说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译。这样做的好处是,经过处理后的代码,将会变的很精短。 1、 先来看一下,一个简单的应用,就是在头文件中使用,#ifndef #define原创 2014-11-08 11:34:15 · 454 阅读 · 0 评论 -
“#if 0/#if 1 ... #endif”的作用
先声明,本文涉及到的知识是之前搜集到的,现在整理出来分享大家,虽然打上原创的tag,但还是向原创致敬!如果涉及到侵权的问题,请联系我,我会及时更改!1、先说“#if 0/#if 1 ... #endif”的作用。我们知道,C标准不提供C++里的“//”这样的单行风格注释而只提供“/* */”这样的块注释功能,我们通常使用它写代码中说明性的注释文字(注释作用)以及在调试时关闭某段代码原创 2014-11-08 12:29:12 · 4589 阅读 · 1 评论 -
struct 和 typedef struct 区别
struct{成员表列}变量名表列1,变量名表列2;(变量名表列1,变量名表列2)这2个变量名怎么理解? 一个是声明一个结构体的原始用法,一个是把结构体取了个别名。例如struct list{ int a; char c; stuct list *next;};(注意这个分号不能少)这个结构体的类型名是struct li原创 2014-11-08 11:36:13 · 400 阅读 · 0 评论 -
#define 后面跟 \
以 \ 结束的换行表示硬换行或者机械换行当用define 定义一个多行的宏时,必须在宏定义内容中,用 \ 作为一行结束,否则编译器不知道多行宏定义在哪一行为止原创 2014-11-08 11:31:36 · 1189 阅读 · 0 评论 -
C语言返回结构体
be代码如下,该代码可以通过gcc的编译,即使我指定了 -std=c89:#include #include #include typedef struct St{ int id; }St; St* returnPointer(void) { St* p=calloc(1,sizeof(St));原创 2014-11-08 11:45:32 · 809 阅读 · 0 评论 -
修饰符extern修饰变量或者函数(转)
在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。1. extern修饰变量的声明。举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。这里需要注意的是,被引用的变量v的链接属性必须是外链接(external)的,也就是说a.c要引用到v,不只是取决于在a原创 2014-11-08 11:27:53 · 4123 阅读 · 0 评论 -
C/C++主流的compiler和IDE
C/C++主流的compiler和IDE原创 2016-06-02 10:57:36 · 3337 阅读 · 0 评论