- 博客(6)
- 资源 (2)
- 收藏
- 关注
转载 static in C
惨痛教训: 假设在test.h中定义了一个static bool g_test=false; 若test1.c和test2.c都包含test.h,则test1.c和test2.c分别生成两份g_test,在test1.c 中置g_test=true,而test2.c中仍然为false并未改变!shit!! 一、c程序存储空间布局 C程序一直由下列部分组成:
2012-10-21 23:04:19 509
转载 static in C++
要理解static,就必须要先理解另一个与之相对的关键字,很多人可能都还不知道有这个关键字,那就是auto,其实我们通常声明的不用static修饰的变量,都是auto的,因为它是默认的,就象short和long总是默认为int一样;我们通常声明一个变量: int a; string s; 其实就是: auto int a; auto string
2012-10-21 22:43:19 548
转载 细说 #pragma pack(n)
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。 例如,下面的结构各成员空间分配情况: struct test
2012-10-21 22:40:57 803
转载 C和C++动态内存分配和释放的区别
一、先来谈谈在C语言下,动态内存分配和释放的特点。 动态分配内存的定义是这样的,指在程序运行过程中,要申请内存,系统会根据程序的实际情况来分配,分配空间的大小是由程序的需求来决定的。在C语言下面,举个例子,定义一个指针,int *p;此时指针i是一个野指针,是一个指向不确定位置的指针,对它进行操作是很危险的,此时我们需要动态分配内存空间,让i指向它。而有一种形式是这样的,int *p=&b;这并
2012-10-21 21:28:37 2366
转载 如何计算结构体及共用体大小
原文地址:如何计算结构体及共用体大小(转载)作者:清贫晓丫头 对于结构体 首先理解字节对齐机制: (1),结构体变量的首地址能够被其最宽基本类型成员大小所整除。 (2),结构体每个成员相对于结构体首地址的偏移量(offset)都是该成员大小的整数倍,如有需要,编译器会在成员之间加上中间填充字节。 (3)结构体总大小为结构体最宽基本类型成员大小的整数倍,如有需要,编译器会在最末一个成员之后
2012-10-20 23:15:53 3152
转载 函数指针和指针函数
【函数指针】 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。 1.函数指针定义 函数类型 (*指针变量名)(形参列表); “函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可
2012-10-19 14:07:59 360
Modbus_TCPIP_协议规范.pdf
2016-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人