Welcome 微信登录

首页 / 软件开发 / C语言

C语言字节对齐详解

C语言字节对齐详解

C语言字节对齐详解2010-06-17一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能...
C和C++的区别介绍

C和C++的区别介绍

C和C++的区别介绍2010-06-171. C++虽然主要是以C的基础发展起来的一门新语言,但她不是C的替代品,不是C的升级,C++和C是兄弟关系。没有谁比谁先进的说法,更重要的一点是C和C++各自的标准委员会是独立的,最新的C++标准是C++98,最新的C标准是C99.因此也没有先学C再说C++的说法,也不再(注意这个"不再")有C++语法是C语法的超集的说法。2. C++/CLI 和 C# 是微软的,它们与C和C++没有任何关系,...
C语言中使用环境变量的技巧

C语言中使用环境变量的技巧

C语言中使用环境变量的技巧2010-06-17实例1:程序readenv.c显示了在中存取环境变量的若干技巧。该程序将以与dos的set命令相同的格式打印出当前所有的环境变量,然后寻找path变量,打印出整个路径字符串。该程序中有两个重要的子程序,find_env_string(),它的主要作用是:根据从调用这传来的要求,或者从环境空间的起点开始,或者从上一次搜索後停留的地方开始,寻找随后的第一个环境字符串,具体程序清单如下。/**************...
C语言的typedef问题

C语言的typedef问题

C语言的typedef问题2010-06-171. 基本解释typedef为的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。2. typedef & 结构的问题当用下面的代码定...
C指针的实质

C指针的实质

C指针的实质2010-06-17最近对C/C++指针特别感冒,就详细的研究了下看下面的定义:char a[] = "Hello World";char *p = "Hello World";1.什么是地址地址本身就是一种基本数据类型,它跟整数,浮点数,字符等基本类型是一样的。指针不是类型,真正的类型是地址,指针只不过是存储地址这种数据类型的变量。打个比方,对于int i=10;10是整数,而i是存储整数的变量,指针...
用C语言加速程序进而加速硬件速度

用C语言加速程序进而加速硬件速度

用C语言加速程序进而加速硬件速度2010-09-23 天极 今天的电子设备,不管是嵌入、工业、消费、娱乐,还是通讯电子设备,它们中的应用程序,都比过去需要在更短的时间内处理更多的数据。一般来说,开发者通常会选用某种通用型处理器或数字信号处理器(DSP),对那些适应性为先的应用程序来说,通用型处理器一直都是最佳的架构选择,而同时DSP也是用于提高运算能力的首选。在许多情况中,既需要适应性,同时也需要强大的运算能力,当为了增加通用型处理器的执行能力而提高时钟频...
C语言基本语法详解之文件夹变形

C语言基本语法详解之文件夹变形

C语言基本语法详解之文件夹变形2010-09-23首先,我们看看这两个图,如图1所示。一秒前:一秒后:怎么样?文件夹变成回收站了!不信?双击进入试试,里面真的是回收站哦。神奇吧!看过本文,你不但能变文件夹为回收站,还可以将它变成各种稀奇古怪的东东!首先要说明一下原理:在Windows资源管理器中,Desktop.ini和Folder.htt中定义了文件夹的属性,在Windows 9X下,我们可以在文件夹中建一个Desktop.ini,并在其中输入如下代码:...
指针数组与数组指针

指针数组与数组指针

指针数组与数组指针2010-09-23 博客园 we-hjb指针是用来存放另外一个变量的地址的变量。中,指针被广泛使用。有时是因为非用不可,有时是因为它能让代码更紧凑,更高效。指针也是一个定时炸弹,稍有不慎会导致程序崩溃。另外,指针乱飞也会影响程序的可读性。指针和数组关系密切,基本上能用数组的地方,都可以用指针来实现。最近在搞GPS和SMS的解析程序,里面主要涉及字符串的解析,如GPS的GPRMC语句的解析,自定义的SMS控制指令的解析,用二维字符数组是可...
不定参数在C语言中的应用实例

不定参数在C语言中的应用实例

不定参数在C语言中的应用实例2010-09-23不定参数在中的应用实例:不定参数当年做为C/C++语言一个特长被很多人推崇,但是实际上这种技术并没有应用很多。除了格式化输出之外,我实在没看到多少应用。主要原因是这种技术比较麻烦,副作用也比较多,而一般情况下重载函数也足以替换它。尽管如此,既然大家对它比较感兴趣,我就简单总结一下它的使用和需要注意的常见问题。刚学C语言的时候,一般人都会首先接触printf函数。通过这个函数,你可以打印不定个数的变量到屏幕,如...
C语言编写的接口程序

C语言编写的接口程序

C语言编写的接口程序2010-09-23在通信中,为了保证运行安全可靠,标准的串行口必须具有许多握手信号和状态信息。这是因为通信的各个计算机CPU 速度不一样(这会导致“错帧”)以及发送机发送数据速度比接收机接收速度快(这会导致“过冲”)。为解决这个问题,我们采用一个简单的握手信号,即发送机每次仅发送半个字节(低4 位)的数据,而另外半个字节(高4 位)则用来传送信息。我们可以对信息位(高4 位)进行如下简单...
加密/弄乱C源代码

加密/弄乱C源代码

加密/弄乱C源代码2010-09-30 cocre.com 酷壳之前发表了《6个变态的C语言Hello World程序》[酷壳链接] [CSDN链接],主要是是像大家展示了一些C语言的变态玩法。也向大家展示了一下程序是可以写得让人看不懂的,在那篇文章中,可以看到很多人的留言,很多人都觉得很好玩,是的,那本来是用来供朋友们“消遣作乐”,供娱乐娱东而已,不必太过认真。不过,通过这种极端的写法,大家可以看到源代码都可以写得那么复杂难懂的。...
关于C语言中的结构体对齐

关于C语言中的结构体对齐

关于C语言中的结构体对齐2010-09-30(1)什么是字节对齐一个变量占用 n 个字节,则该变量的起始地址必须能够被 n 整除,即: 存放起始地址 % n = 0, 对于结构体而言,这个 n 取其成员种的数据类型占空间的值最大的那个。(2)为什么要字节对齐内存空间是按照字节来划分的,从理论上说对内存空间的访问可以从任何地址开始,但是在实际上不同架构的CPU为了提高访问内存的速度,就规定了对于某些类型的数据只能从特定的起始位置开始访问。这样就决定了各种数据...
<< 51 52 53 54 55 56 57 58 59 60 >>