C语言
临风笛
IT耶?非也,非也!
展开
-
宏定义中的# ## @# \
# (stringizing)字符串化操作符。其作用是:将宏定义中的传入参数名转换成用一对双引号括起来参数名字符串。其只能用于有传入参数的宏定义中,且必须置于宏定义体中的参数名前。如:#define example(instr) printf("the input string is:\t%s\n",#instr)#define example1(instr) #instr当使用该宏转载 2012-09-13 18:47:14 · 904 阅读 · 0 评论 -
内存对齐详解
首先由一个程序引入话题:1 //环境:vc6 + windows sp2 2 //程序1 3 #include 4 5 using namespace std; 6 7 struct st1 8 { 9 char a ;10 int b ;11 short c ;12 };13 14 struct st215 {16 sh转载 2012-08-22 19:26:44 · 990 阅读 · 0 评论 -
程序的内存分配
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类...转载 2014-01-24 11:34:45 · 833 阅读 · 0 评论 -
C语言字节对齐问题详解
C语言字节对齐转载 2017-10-31 18:07:39 · 1377 阅读 · 0 评论 -
字节序与比特序详解
[TOC]字节序的定义字节序就是说一个对象的多个字节在内存中如何排序存放,比如我们要想往一个地址a中写入一个整形数据0x12345678,那么最后在内存中是如何存放这四个字节的呢? 0x12这个字节值为最高有效字节,也就是整数值的最高位(在本文中0x12=0x12000000),0x78为最低有效字节。 这里就分为大端字节序和小端字节序 大端字节序:便是指最高有效字节落在低地址上的字节翻译 2017-12-22 20:43:06 · 8581 阅读 · 3 评论