like,suchas和forexample的用方法区别

like,suchas和forexample的用方法区别
like,suchas和forexample的用方法区别

like, such as和for example的用方法区别

来源:澳际英语学校作者:张凡(Nicole)?????? 2012年02

月15日

for example,such as和like都可用来举例,但用法有所不同。

1. for example作“例如”讲时,一般只以同类事物或人中的“一个”为例,作插入语,用逗号隔开,可置于句首、句中或句末。 For example,air is invisible. 例如,空气是看不见的。 He,for example,is a good student. 例如,他就是个好学生。

2. such as也作为“例如”讲,用来列举同类人或事物中的几个例子。 Some of the European languages come from Latin,such as French,Italian and Spanish. 有些欧洲语言来源于拉丁语,例如,法语、意大利语和西班牙语。 Boys such as John and James are very friendly.像约翰和詹姆斯这样的男孩都很友好。

3. like也常用来表示举例,可与such as互换。但such as用于举例可以分开使用,此时不可与like互换。 Some warm-blooded animals,like/such as the cat,the dog or the wolf,do not need to hibernate. 一些温血动物,像猫、

狗和狼都不需要冬眠。 He has several such reference books as dictionaries and handbooks. 他有几本像字典、手册之类的参考书。

4. 由于like本意是“象...一样”,因此更加强调情景的相似性,重在例证。

Things like glass, paper, and plastic can all be recycled.(强调情景的相似性,而非列举事物)

5. 使用such as来举例子,只能举出其中的一部分,一般不能全部举出。若全部举出,要改用namely或者that is (意为“即”)。另外such as不能与and so on连用。 He knows four languages,namely Chinese,English,Russian and French. 他精通四门语言,即汉语、英语、俄语和法语。

根据句意,用for example,such as或like填空。

,____,is a kind of pollution.

2. I like drinks,____ tea and soda.

3. ____,My full name is James Allen Green. Green is my family name.

can buy fruit here—oranges and bananas,____.

are several people interested,____Mr Jones and

Mr Simpson.

答案:1. for example such as example example

as和like的区别

as 作副词:同样地, 一样地 作介词: 1.(表示时间)当还是…的时候。 2.(表示方式)以…的身份, 以…资格, 作为。以…形式, 以作为; 以…角色, 扮演…角色; 如同, 像 3.(表示结果)成为, 看作, 看成 4.(表示目的)为了, 以…为目的 as指身份或资格等,意为作为和看作等,用于说明同一关系,即两者实为一体作连词: 1.在…期间, 当…时候 2.尽管, 即使, 虽然 3.像…一样 4.由于, 因为 5.照…方式: 6.正如,如同 as也可以作为“像……,按照……”,此时用作连词或关系词,后面常跟从句like like用于说明相似关系,即两者在形态上或性质上有相似之处,但并不等同。作动词: 1.喜欢, 喜爱 2.想要 3.喜欢做;喜欢 4.(与would 或should 连用表示客气)想,想要,希望 作介词: 1.(表示方式)如同, 像; 相似; 类似 2.(表示态度)想要, 有…的意向 3.(表示属性)像, 像…一样; 与…类似; 好像是, 看来有…可能(或迹象); 能 表明…特征, 像…才会 4.(表示列举)比如, 诸如…之类, 像…等 5.(询问意见)…怎么样 6.符合…的特点,像…才会 作形容词:相似的, 相同的 作名词: 1.相类似的人[事物] 2.喜好;爱好 作连词: 1.像…一样;如同 2.好像;仿佛;似乎 作副词: 1.和…一样,如,像

2.大概,可能 like常见搭配有:be like, like this,like that, look like 在它们充当介词,意思为:如同,像...时,分辨不清。其实它们的中文 意思虽然相同,但含义不同。as的含义是:“作为”。like的含义是:“与...比较起来很像”。请看例题: 1.Fight as men, or die as slaves? (作为)男子汉一样战斗,还是(作为)奴隶般死去? 2.We had better treat it as a joke. 我们最好把它当作(作为)玩笑。 3.She is dressed in white like a nurse. 她穿着白衣服, 像个护士。(与其他人比)。 4.The second child was like its mother in looks. 那第二个孩子长得像妈妈。(与其他孩子比)。 5. She spoke as a teacher. 她以老师的身份发言 6. She spoke like a teacher. 她讲话很像是一位老师 7. I had no success as a lawyer. 我作为律师并没有获得成功。 8. Perhaps she can acts as a spokesman for our product. 或许她可以为我们的产品 作代言人。 9. We got on together like old friends. 我们在一起相处得就像老朋友一样。 10.Ever since Jane came, she has worked like a horse. 自从珍妮来到这里,就像牛马似的在工作着。

like的用法大全

like的用法大全 今天给大家带来了like的用法,快来一起学习吧,下面就和大家分享,来欣赏一下吧。 喜欢和爱:like的用法大全 I think anybody who falls in love is a freak. Its a crazy thing to do. Its kind of like a form of socially acceptable insanity. ——Her 我觉得陷入爱河的人都是疯子。谈恋爱本来就是件疯狂的事,只不过是大众可以接受的那种。 ——《她》 一、下面我们来看看like有几种含义 adj. 1.相似的having similar qualities to another person or thing The brothers are very like. 这几个兄弟很相像。

2.相同的;同类的closely resembling the subject or original Things which seem to be like may be different. 看来相同的东西实际可能不同。 adv. 1.【口】可能,多半likely, probably 2.同样地;在相同程度上to some extent conj. 好像,如同in the same way as Even though me were friends, it was just like he didnt know me at all. 尽管我们是朋友,他表现得好像根本不认识我。 n. (冠以物主代词)同样的人(或事物);匹敌者a person or thing that is similar to another Have you even heard the like of it? 你听见过这样的事情吗? 2.爱好the things that you like

C++ #pragma code_seg用法

#pragma code_seg 格式如: #pragma code_seg( [ [ { push | pop}, ] [ identifier, ] ] [ "segment-name" [, "segment-class" ] ) 该指令用来指定函数在.obj文件中存放的节,观察OBJ文件可以使用VC自带的dumpbin命令行程序,函数在.obj文件中默认的存放节为.text节,如果code_seg 没有带参数的话,则函数存放在.text节中。 push (可选参数)将一个记录放到内部编译器的堆栈中,可选参数可以为一个标识符或者节名 pop(可选参数)将一个记录从堆栈顶端弹出,该记录可以为一个标识符或者节名identifier(可选参数)当使用push指令时,为压入堆栈的记录指派的一个标识符,当该标识符被删除的时候和其相关的堆栈中的记录将被弹出堆栈 "segment-name" (可选参数)表示函数存放的节名 例如: //默认情况下,函数被存放在.text节中 void func1() {// stored in .text } //将函数存放在.my_data1节中 #pragma code_seg(".my_data1") void func2() {// stored in my_data1 } //r1为标识符,将函数放入.my_data2节中 #pragma code_seg(push, r1, ".my_data2") void func3() {// stored in my_data2 } int main() { } 例如 #pragma code_seg(“PAGE”) 作用是将此部分代码放入分页内存中运行。 #pragma code_seg() 将代码段设置为默认的代码段 #pragma code_seg("INIT") 加载到INIT内存区域中,成功加载后,可以退出内存

forexample,suchas,like,namely的区别及用法

for example ,such as 和like 都可用来举例,但用法有所不同。 for example 作“例如”讲时,一般只以同类事物或人中的“一个”为例,作插入语,用逗号隔开,可置于句首、句中或句末。 For example ,air is invisible. 例如,空气是看不见的。 He,for example ,is a good student. 例如,他就是个好学生。 such as 也作为“例如”讲,用来列举同类人或事物中的几个例子。 Some of the European languages come from Latin ,such as French ,Italian and Spanish. 有些欧洲语言来源于拉丁语,例如,法语、意大利语和西班牙语。 Boys such as John and James are very friendly. 像约翰和詹姆斯这样的男孩都很友好。 like 也常用来表示举例,可与such as 互换。但such as 用于举例可以分开使用,此时不可与like 互换。Some warm-blooded animals ,like/such as the cat ,the dog or the wolf ,do not need to hibernate. 一些温血动物,像猫、狗和狼都不需要冬眠。 He has several such reference books as dictionaries and handbooks. 他有几本像字典、手册之类的参考书。 注意:使用such as 来举例子,只能举出其中的一部分,一般不能全部举出。若全部举出,要改用namely (意为“即”)。 He knows four languages ,namely Chinese ,English ,Russian and French. 他精通四门语言,即汉语、英语、俄语和法语。 自我测试根据句意,用for example ,such as 或like 填空。 1. Noise ,,is a kind of pollution. 2. I like drinks tea and soda. 3. ,my full name is James Allen Green. Green is my family name. 4. You can buy fruit here —oranges and bananas ,. 5. There are several people interested ,Mr Jones and Mr Simpson. 答案:example such as example example

like such as和for example的用方法区别

like, such as和for example的用方法区别 来源:澳际英语学校作者:张凡(Nicole)2012年02 月15日 for example,such as和like都可用来举例,但用法有所不同。 1. for example作“例如”讲时,一般只以同类事物或人中的“一个”为例,作插入语,用逗号隔开,可置于句首、句中或句末。For example,air is invisible. 例如,空气是看不见的。He,for example,is a good student. 例如,他就是个好学生。 2. such as也作为“例如”讲,用来列举同类人或事物中的几个例子。Some of the European languages come from Latin,such as French,Italian and Spanish. 有些欧洲语言来源于拉丁语,例如,法语、意大利语和西班牙语。Boys such as John and James are very friendly.像约翰和詹姆斯这样的男孩都很友好。 3. like也常用来表示举例,可与such as互换。但such as用于举例可以分开使用,此时不可与like互换。Some warm-blooded animals,like/such as the cat,the dog or

the wolf,do not need to hibernate. 一些温血动物,像猫、狗和狼都不需要冬眠。He has several such reference books as dictionaries and handbooks. 他有几本像字典、手册之类的参考书。 4. 由于like本意是“象...一样”,因此更加强调情景的相似性,重在例证。 Things like glass, paper, and plastic can all be recycled.(强调情景的相似性,而非列举事物) 5. 使用such as来举例子,只能举出其中的一部分,一般不能全部举出。若全部举出,要改用namely或者that is (意为“即”)。另外such as不能与and so on连用。He knows four languages,namely Chinese,English,Russian and French. 他精通四门语言,即汉语、英语、俄语和法语。 根据句意,用for example,such as或like填空。 1.Noise,____,is a kind of pollution. 2. I like drinks,____tea and soda. 3. ____,My full name is James Allen Green.

第九章 计划工作的工具和技术

第三节计划工作的工具和技术 一、评估环境的技术——环境扫描、预测和标杆比较 1.什么是环境扫描?答:环境扫描技术收集大量的环境信息,以便预测和解释环境正在发生的变化。 2.描述竞争者情报。答:环境扫描领域增长最快的部分之一是竞争对手情报。所谓竞争对手情报是一个过程,组织借助这个过程收集竞争对手的信息,试图得到诸如下列一些答案:谁是竞争者?他们在做什么?竞争对手的行动将对我们产生什么影响? 补充:竞争者情报专家建议,管理者需要了解的竞争对手信息80%可以从企业的雇员、供应商和顾客那里得到。许多企业甚至定期地购买竞争对手的产品,并对其仔细研究(这个过程称为逆向工程),以便了解竞争对手的新的技术创新。 3.什么情况下全球扫描是一种重要的计划工具?答:另一种环境扫描的重要类型是全球扫描。全球扫描的价值在很大程度上取决于组织的全球活动规模。对于具有重要全球利益的公司,全球扫描必定也是很重要的,因为世界市场上充满了复杂的和动态的变化,管理者应当将他们的扫描范围扩展,以便获得可能影响组织的全球力量的重要信息。 4.预测作为一种计划技术怎么才能更有效?答:预测的目标是向管理者提供信息,以辅助决策的制定。当环境基本上保持稳定时,预测技术通常可以获得很准确的结果。环境越是具有动态性,管理者预测的有效性就可能越差。此外,预测在预计非季节性的事件方面效果是较差的。——现实中还是存在改进预测结果的途径:①尽量应用简单的预测方法,简单的预测方法趋向于比复杂方法的应用效果更好,因为复杂的方法时常错误地混淆随机数据与有意义的信息。②将预测结果与不变的趋势相比较,经验表明,不变的预测通常有50%的准确性。③不要依靠单一的预测方法,应当采用模型来预测,然后将结果进行平均,特别是在进行长期预测时更是如此。④不要假定逆能够准确地识别趋势的转折点,通常趋势的转折点是由随机的事件引起的。⑤缩短预测期间有助于改进预测的准确性。⑥预测是一种管理技能,正如其他的技能一样,它是可以通过实践不断改进的。 注:环境扫描建立了预测的基础,预测是对结果的预计,实际上,组织环境的任何部分,无论是一般的还是具体的,都是可预测的。预测技术分为两种类型:定量预测是运用一组数学规则,根据过去的数据序列来预测未来。定性预测是运用判断和根据熟悉情况的人员的意见来预测结果,

C++ #pragma预处理命令

#pragma预处理命令 #pragma可以说是C++中最复杂的预处理指令了,下面是最常用的几个#pragma 指令: #pragma comment(lib,"XXX.lib") 表示链接XXX.lib这个库,和在工程设置里写上XXX.lib的效果一样。 #pragma comment(linker,"/ENTRY:main_function") 表示指定链接器选项/ENTRY:main_function #pragma once 表示这个文件只被包含一次 #pragma warning(disable:4705) 表示屏蔽警告4705 C和C++程序的每次执行都支持其所在的主机或操作系统所具有的一些独特的特点。例如,有些程序需要精确控制数据存放的内存区域或控制某个函数接收的参数。#pragma为编译器提供了一种在不同机器和操作系统上编译以保持C和C++完全兼容的方法。#pragma是由机器和相关的操作系统定义的,通常对每个编译器来说是不同的。 如果编译器遇到不认识的pragma指令,将给出警告信息,然后继续编译。Microsoft C and C++ 的编译器可识别以下指令:alloc_text,auto_inline,bss_seg,check_stack,code_seg,comment,component,conform,const_seg,data_seg,deprecated,fenv_access,float_control,fp_contract,function,hdrstop,include_alias,init_seg,inline_depth,inline_recursion,intrinsic,make_public,managed,message,omp,once,optimize,pack,pointers_to_members,pop_macro,push_macro,region, endregion,runtime_checks,section,setlocale,strict_gs_check,unmanaged,vtordisp,warning。其中conform,init_seg, pointers_to_members,vtordisp仅被C++编译器支持。 以下是常用的pragma指令的详细解释。 1.#pragma once。保证所在文件只会被包含一次,它是基于磁盘文件的,而#ifndef 则是基于宏的。

as...as的用法

as...as的用法 as...as意为"和……一样",表示同级的比较。使用时要注意第一个as为副词,第二个as 为连词。其基本结构为:as+ adj./ adv. +as。例如: (1)This film is as interesting as that one.这部电影和那部电影一样有趣。 (2)Your pen writes as smoothly as mine.你的钢笔书写起来和我的一样流畅。 其否定式为not as/so +adj./ adv. +as。例如: This dictionary is not as/so useful as you think.这本字典不如你想象的那样有用。 若有修饰成分,如twice, three times, half, a quarter等,则须置于第一个as之前。例如:Your bag is twice as expensive as mine.你的袋子比我的贵一倍。 几个关于as...as的常见句型: (1)as...as possible Please answer my question as soon as possible.请尽快回答我的问题。 (2)as...as usual/before She looks as pretty as before.她看起来和以前一样漂亮。 (3)as long as... (引导条件状语从句) It took us as long as three years to carry out the plan.我们花了长达三年的时间才完成这项计划。 (4)as far as He walked as far as the railway station yesterday evening.昨天傍晚,他一直散步到火车站。 (5)as well as She cooks as well as her mother does.她烧菜烧得跟她母亲一样好。 一些带有as...as结构的常见短语归纳: as busy as a bee像蜜蜂一样忙碌as easy as ABC像ABC一样容易as deep as a well像井一样深 as light as a feather像羽毛一样轻as soft as butter像黄油一样软as rich as a Jew像犹太人一样富裕 一、“as(否定句中可用so)+adj./adv.+as…”,其基本意思为“……和……一样”。但在实际应用中,此结构在不同的语境中含义差异较大。 1、表示不同人或物同一性质的比较,意为“……和……一样……"。 The tree is as tall as the building(is).这棵树和那栋楼一样高。 Michael is as bright as George(is).迈克尔和乔治一样聪明。 2、表示同一个人或物不同性质的比较,意为“既……又……” Alice works as happily as(she)plays(happily).艾丽丝愉快地工作,尽情地玩。 Danny is not so wise as he is witty.丹尼为人风趣,但欠明智。 3、用于表示两个人或物不同性质的比较,表示程度相同或相当,意为“……而……”。 He was as handsome as his wife was beautiful.他长得非常英俊,他的妻子也长得非常漂亮。 He was as experienced as his brother was green.他经验丰富,而他兄弟却涉世未深。 二、as…as结构的另一种形式是“as much/many+名词+as+从句”。 Mary has written as many essays as her brother.玛丽写的文章篇数和她弟弟一样多。 It is as much your fault as your wife’s.这既是你的过错,也是你妻子的过错。 Henry is as much a hypocrite as·John.亨利跟约翰一样是个伪君子。 三、若有修饰成分,如twice,three times,half,a quaer等,必须置于第一个as之前。 You are not half as clever as you think you are.你可不像自己想象的那么聪明。 She isn’t going out with a man who is twice as old as she. 她不打算和一个比她大一倍的人出去散步。 You’ve made just as many mistakes as I have.我和你犯的错误一样多。

#pragma data code ICCAVR的使用

#pragma data:code 在Keil中为了节省数据存储器的空间,通过“code”关键字来定义一个数组或字符串将被存储在程序存储器中: uchar code buffer[]={0,1,2,3,4,5}; uchar code string[]="Armoric" ; 而这类代码移值到ICCAVR上时是不能编译通过的。我们可以通过"const" 限定词来实现对存储器的分配: #pragma data:code const unsigned char buffer[]={0,1,2,3,4,5}; const unsigned char string[]="Armoric"; #pragma data:data 注意: 《1》使用ICCAVR6.31时,#pragma data :code ;#pragma data:data ; 这些语法时在"data:cod"、"data:data"字符串中间不能加空格,否则编译不能通过。 《2》const 在ICCAVR是一个扩展关键词,它与ANSIC标准有冲突,移值到其它的编译器使用时也需要修改相关的地方。 在ICCAVR中对数组和字符串的五种不同空间分配: const unsigned char buffer[]={0,1,2,3,4,5}; //buffer数组被分配在程序存储区中 const unsigned char string[]="Armoric" ; //stringp字符串被分配在程序存储区中 const unsigned char *pt //指针变量pt被分配在数据存储区中,指向程序存储区中的字符类型数据 unsigned char *const pt //指针变量pt被分配在程序存储区中,指向数据存储区中的字符类型数据 const unsigned char *const pt //指针变量pt被分配在程序存储区,指向程序存储区中的字符类型数据 unsigned char *pt //指针变量pt被分配在数据存储区中,指向数据存储区中的数据 请问#pragma data:code和#pragma data:data是什么意思? 前者表示:随后的数据将存贮在程序区,即FLASH区,此区只能存贮常量,比如表格之类。

just like和just as的差别

just like和just as的差别? 上海翻译公司作者:tianhong021 更新日期:2009-10-20 just like: adv. 正如(几乎与...一样) That baby looks just like her father! 那婴儿真像她父亲. But I like singing, I like to be on the stage, just like I have returned my home. 不过我自己也是蛮喜欢唱歌的,在舞台上面的感觉,就像回到家里。 just as Just as water is the most important of liquids, so air is the important of gases. 空气是气体中最重要的一种,正如水是液体中最重要的一种一样。You should take an umbrella just as a precaution.你该带把伞,有备无患。这两个后都可跟句子或词语,表示“正像、正如”时可互换。 as与like是英语中常见的两个词.他们的语义和用法很多.在语义上者两个词都可以当"像......"."正如......"讲.说明人与人.物与物.动作与动作.状态与状态之间的相似之处.但其语法结构却是不一样的. 一.当[像"讲时.语法结构的不同之处是: 1.as作连接词.她引导比较状语从句和方式状语从句.而且这两种从句通常为省略句.例如: 1.She is a fine singer. as her mother used to be. 2.There is as much water in this cups in that one. 2.like作介词.例如: 3.My sister sin''t much like me. 4.The robot can''t work like man. 如果需要加强语气.再这两个词之前加上just之类的词即可.例如: 5.All the plants and animals need air just as they need water.

pragma的用法

#pragma的用法 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义, 编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #pragma para。其中para为参数,下面来看一些常用的参数。 1)message 参数 message参数是我最喜欢的一个参数,它能够在编译信息输出窗口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为: #pragma message("消息文本") 当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。 当我们在程序中定义了许多宏来控制源代码版本的时候,我们自己有可能都会忘记有 没有正确的设置这些宏, 此时我们可以用这条指令在编译的时候就进行检查。假设我们希望判断自己有没有在源代码的什么地方定义了_X86这个宏, 可以用下面的方法: #ifdef _X86 #pragma message("_X86 macro activated!") #endif 我们定义了_X86这个宏以后,应用程序在编译时就会在编译输出窗口里显示"_86 macro activated!"。 我们就不会因为不记得自己定义的一些特定的宏而抓耳挠腮了。 (2)另一个使用得比较多的pragma参数是code_seg 格式如: #pragma code_seg( ["section-name" [, "section-class"] ] ) 它能够设置程序中函数代码存放的代码段,当我们开发驱动程序的时候就会使用到 它。 (3)#pragma once (比较常用) 只要在头文件的最开始加入这条指令就能够保证头文件被编译一次,这条指令实际上 在VC6中就已经有了, 但是考虑到兼容性并没有太多的使用它。 (4)#pragma hdrstop 表示预编译头文件到此为止,后面的头文件不进行预编译。BCB可以预编译头文件以 加快链接的速度, 但如果所有头文件都进行预编译又可能占太多磁盘空间,所以使用这个选项排除一些头文

such as、like 和 for example 的用法区别

一、sush as 和like 一个比较细微的差别是:such as 暗示包含,意为“如…”,而like 暗示的是比较,意为“像…”,例如: Chuck enjoys desserts such as brownies, cheesecake, and macaroons. 查克喜欢甜点,如布朗尼、芝士蛋糕和杏仁饼。 Chuck enjoys desserts like brownies, cheesecake, and macaroons. 查克喜欢吃甜点,像布朗尼、芝士蛋糕和杏仁饼。 解析:以上两句对很多语法学家或是写作老手来说都是可接受的,但是这里用such as 更好,因为当你表示Chuck enjoys desserts like brownies 时,实际上是在暗示Chuck 不喜欢brownies,而只是喜欢跟brownies 相似味道的甜点。 又如: Characters like Cinderella, Dracula, and Frankenstein continue to appear in movies and novels. 像灰姑娘、德古拉和弗兰肯斯坦等角色继续出现在电影和小说中。 解析:此句的意思告诉我们,像Cinderella, Dracula, and Frankenstein 这样的角色。 Jill would love to travel to several European cities such as London, Florence, and Athens. 吉尔很想去几个欧洲城市旅行,如伦敦、佛罗伦萨和雅典。 解析:此句的意思告诉我们,吉尔很想去包含伦敦、佛罗伦萨和雅典在内的欧洲城市。 Doctor Coughlin dreads seeing patients like Mrs. Carbuncle. 考夫林医生害怕见到像卡伯太太这样的病人。 解析:此句的意思告诉我们,Doctor Coughlin 害怕见到像Mrs. Carbuncle 这样的病人。 1、以下例句不能用like,例如: I have been to some great cities in California such as Los Angeles and San Francisco. 我去过加利福尼亚的一些大城市,如洛杉矶和旧金山。 解析:此句若把such as 改为like,句意就不合理,此处只是例举去过的几个大城市,没有暗示比较的含义。 2、以下例句不能用such as,例如:

stm32中使用#pragma pack(非常有用的字节对齐用法说明)

#pragma pack(4) //按4字节对齐,但实际上由于结构体中单个成员的最大占用字节数为2字节,因此实际还是按2字节对齐 typedef struct { char buf[3];//buf[1]按1字节对齐,buf[2]按1字节对齐,由于buf[3]的下一成员word a是按两字节对齐,因此buf[3]按1字节对齐后,后面只需补一空字节 word a; //#pragma pack(4),取小值为2,按2字节对齐。 }kk; #pragma pack() //取消自定义字节对齐方式 对齐的原则是min(sizeof(word ),4)=2,因此是2字节对齐,而不是我们认为的4字节对齐。 这里有三点很重要: 1.每个成员分别按自己的方式对齐,并能最小化长度 2.复杂类型(如结构)的默认对齐方式是它最长的成员的对齐方式,这样在成员是复杂类型时,可以最小化长度 3.对齐后的结构体整体长度必须是成员中最大的对齐参数的整数倍,这样在处理数组时可以保证每一项都边界对齐 补充一下,对于数组,比如: char a[3];这种,它的对齐方式和分别写3个char是一样的.也就是说它还是按1个字节对齐. 如果写: typedef char Array3[3]; Array3这种类型的对齐方式还是按1个字节对齐,而不是按它的长度. 不论类型是什么,对齐的边界一定是1,2,4,8,16,32,64....中的一个. 声明: 整理自网络达人们的帖子,部分参照MSDN。 作用: 指定结构体、联合以及类成员的packing alignment; 语法: #pragma pack( [show] | [push | pop] [, identifier], n ) 说明: 1,pack提供数据声明级别的控制,对定义不起作用; 2,调用pack时不指定参数,n将被设成默认值; 3,一旦改变数据类型的alignment,直接效果就是占用memory的减少,但是performance会下降; 语法具体分析: 1,show:可选参数;显示当前packing aligment的字节数,以warning message的形式被显示; 2,push:可选参数;将当前指定的packing alignment数值进行压栈操作,这里的栈是the internal compiler stack,同时设置当前的packing alignment为n;如果n没有指定,则将当前的packing alignment数值压栈; 3,pop:可选参数;从internal compiler stack中删除最顶端的record;如果没有指定n,则当前栈顶record即为新的packing alignment 数值;如果指定了n,则n将成为新的packing aligment数值;如果指定了identifier,则internal compiler stack中的record都将被pop 直到identifier被找到,然后pop出identitier,同时设置packing alignment数值为当前栈顶的record;如果指定的identifier并不存在于internal compiler stack,则pop操作被忽略; 4,identifier:可选参数;当同push一起使用时,赋予当前被压入栈中的record一个名称;当同pop一起使用时,从internal compiler stack 中pop出所有的record直到identifier被pop出,如果identifier没有被找到,则忽略pop操作; 5,n:可选参数;指定packing的数值,以字节为单位;缺省数值是8,合法的数值分别是1、2、4、8、16。 重要规则: 1,复杂类型中各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个类型的地址相同; 2,每个成员分别对齐,即每个成员按自己的方式对齐,并最小化长度;规则就是每个成员按其类型的对齐参数(通常是这个类型的大小)和指定对齐参数中较小的一个对齐; 3,结构体、联合体或者类的数据成员,第一个放在偏移为0的地方;以后每个数据成员的对齐,按照#pragma pack指定的数值和这个数据成员自身长度两个中比较小的那个进行;也就是说,当#pragma pack指定的值等于或者超过所有数据成员长度的时候,这个指定值的大小将不产生任何效果; 4,复杂类型(如结构体)整体的对齐是按照结构体中长度最大的数据成员和#pragma pack指定值之间较小的那个值进行;这样当数据成员为复杂类型(如结构体)时,可以最小化长度; 5,复杂类型(如结构体)整体长度的计算必须取所用过的所有对齐参数的整数倍,不够补空字节;也就是取所用过的所有对齐参数中最大的那个值的整数倍,因为对齐参数都是2的n次方;这样在处理数组时可以保证每一项都边界对齐; 对齐的算法:由于各个平台和编译器的不同,现以本人使用的gcc version 3.2.2编译器(32位x86平台)为例子,来讨论编译器对struct 数据结构中的各成员如何进行对齐的。 在相同的对齐方式下,结构体内部数据定义的顺序不同,结构体整体占据内存空间也不同,如下: 设结构体如下定义: struct A { int a; //a的自身对齐值为4,偏移地址为0x00~0x03,a的起始地址0x00满足0x00%4=0;

as和like的区别

as和like的区别 标签:杂谈分类:教学资源 先说as吧 as作介词: 1.以…的身份,作为:充当角色、身份或功能的(In the role, capacity, or function of) 例:acting as a mediator.充当调解人 2.以相似的方式;如同(In a manner similar to; the same as) 例:On this issue they thought as one.在这个问题上,他们意见一致 like做介词: 像(如同)……一样,如……般的 后面一般都接sb. 或者sth.或者是动名词(即doing sth)。 例: It's not like you to take offense.你不象会发脾气的人 lived like royalty 过着帝王般的生活 felt like running away想要逃跑 (feel like:想要。。。。。。) 简而言之,区别就是,as是“作为”,也就是事实本来就是这样,like是“像”,事实并不是这样。比如那人本来就是个调解人,所以用as;而那个人本来不是帝王,却过着帝王般的生活,那人本来是要发脾气的只不过人家觉得他不像会发脾气的,所以用like... 很早的时候,like是形容词,表示相象、相同、类似等意;as是连接词。 Samy and Sammy are very like. Samy和Sammy长得很像。 Paul behaved as a child(does).保罗的举止像个小孩。(句子有省略) 后来,like作为介词使用,表示像…一样;as也可以作为介词使用了。 Paul behaved like a child.保罗的举止像个小孩。(句子没有省略) 再比较: Let me speak to you as a father.让我以父亲的地位对你说说。(=I am your father and I am speaking to you in that character) Let me speak to you like a father.让我像你父亲那样对你说说。(= I am not your father but I am speaking to you in the way your father might) 再后来,有些语法学家把以往like不允许作连词使用的规则也改了,用来代替引导方式状语从句的as。 I can't sing like I used to do.我不能像过去那样地唱了。(指唱的音色) He writes just like his brother did when he was young.他写字的手法和他兄弟年轻时写的差不离。(指书法的风格和字型)即使如此,like和as有时还是有些区别的。试比较:The prisoner was hanged like a murderer.这个囚徒像杀人犯那样被处以绞刑(=…as if he were a murderer)。 The prisoner was hanged as a murderer.这个犯人作为杀人犯被处以绞刑。(这个犯人就是杀人犯) as 和 like 在汉语中都译做"像",但字面下的隐含意思是不同的. like侧重A B两者间的比较,并不意味着A和B属于一类或完全相似. 例如:He speak English like an Englishman.(=in a way an Englishman speaks English.) 表示有些相象 as则侧重于同一性,意味着A B两者属于同一类或完全相似. 例如:He speaks English as an Englishman.(=as well as an English.) 表示讲得一样好 as与like是英语中常见的两个词,他们的语义和用法很多.在语义上者两个词都可以当"像......","正如......"讲,说明人与人、物与物、动作与动作、状态与状态之间的相似之处。但其语法结构却是不一样的。 一、当“像”讲时,语法结构的不同之处是: 1、as作连接词。她引导比较状语从句和方式状语从句,而且这两种从句通常为省略句。例如: 1、She is a fine singer, as her mother used to be. 2、There is as much water in this cupas in that one. 2、like作介词。例如: 3、My sister isn''t much like me. 4、The robot can''t work like man. 如果需要加强语气,再这两个词之前加上just之类的词即可。例如: 5、All the plants and animals need air just as they need water. 6、Mary goes to school at seven every morning just like her brother. 含义不同之处是: (1)like只是单纯表示比较,而且通常不是同类事物进行比较: 7、The ship looks like a high building. 8、The sky was like ink over my head. (2)as可表示同类事物比较。 9、This ship is as long as that one. 二、当“正如....”意义讲时,语法结构的不同之处是: (1)as作关系代词或关系副词、引导定于从句。 as 在这样的句子里指全句所谈到的内容,引出非限制性定于从句,在从句中一般做主语或宾语。例如: 10、Metals have many good properties, as has been stated before. 11、As we said before, you have done a good job. (2)like作介词。 12、She, like thousands of others, is fascinated by

相关文档
最新文档