vnis iz hlavin玫瑰里 lnifag fuylf boy.是什么意思

指针_百度百科
[zhǐ zhēn]
在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的。[1]
在中,指针有效地取代了在低级语言,如与机器码,直接使用通用的地方,但它可能只适用于合法地址之中。指针参考了中某个地址,通过被称为反参考指针的动作,可以取出在那个地址中存储的值。作个比喻,假设将电脑存储器当成一本书,一张内容记录了某个页码加上行号的便利贴,可以被当成是一个指向特定页面的指针;根据便利粘贴面的页码与行号,翻到那个页面,把那个页面的那一行文字读出来,就相当于是对这个指针进行反参考的动作。[2]
在信息工程中指针是一个用来指示一个的计算机语言的变量或(CPU)中(Register)【用来指向该内存地址所对应的变量或数组】。指针一般出现在比较接近的语言,如汇编语言或。的语言如一般避免用指针。指针一般指向一个函数或一个变量。在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址,又可以使用这个地址里储存的函数的值。另外,指针也指钟表中用来指示对应时间的部件。
使用指针来读取数据,在重复性操作的状况下,可以明显改善程序性能,例如在字符串,查取表格,控制表格及树状结构上。对指针进行复制,之后再解引用指针以取出数据,无论在时间或空间上,都比直接复制及访问数据本身来的经济快速。[2]
指针的机制比较简单,其功能可以被集中重新实现成更抽象化的(reference)数据形别。许多编程语言中都支持某种形式的指针,最著名的是,但是有些编程语言对指针的运用采取比较严格的限制,如一般避免用指针,改为使用引用。[2]
有两种含义,一是作为数据类型,二是作为实体。[2]
指针作为实体,是一个用来保存一个内存地址的计算机语言中的变量。指针一般出现在比较底层的程序设计语言中,如C语言。高层的语言如Java一般避免用指针,而是引用。[2]
指针作为数据类型,可以从一个函数类型、一个对象类型或者一个不完备类型中导出。从中导出的数据类型称之为被引用类型(referenced type)。指针类型描述了一种对象,其值为对被引用类型的实体的引用。[2]
标准中规定,“指针”概念不适用于(不包含指向静态成员的指针)。C++标准规定,指针分为两类:[2]
object pointer type:指向void或对象类型,表示对象在内存中的字节地址或空指针。[2]
function pointer type:指代一个函数[2]
指针与C语言
大家都认为,c语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是c语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有C语言的指针才能算指针。不支持指针,在此不论。其实,语言本身也是支持指针的。从最初的pascal发展至今的,可以说在指针运用上,丝毫不会逊色于c语言的指针。
内存分配表
计算机中的内存都是的,就像你家的地址一样。在或者运行的时候,系统(可以不关心具体是什么,可能是,也可能是操作系统)开辟了一张表。每遇到一次声明(包括函数的传入参数的声明)都会开辟一个内存空间,并在表中增加一行纪录。记载着一些对应关系。(如图1所示)
Declaration | ID Name Address Length
int nP; | 1 nP 2000 2B
char myC | 2 myChar 2002 1B
int *myP | 3 myPointer 2003 2B
char *myPointer2; | 4 myPointer2 2005 2B
指针,是一个(unsigned int),它是一个以当前系统寻址范围为取值范围的整数。32位系统下寻址能力()是4G Bytes(0~2^32-1)表示长度为32bits(也就是4Bytes), unsigned int类型也正好如此取值。
例证(一)
例证就是程序1得到的答案和程序2的答案一致。(不同机器可能需要调整一下pT的取值)
#include &stdio.h&
char t='h';
putchar(*pT);
#include &stdio.h&
char t='h';
pT=(char *)1245048;
putchar(*pT);
加上(char *)是因为毕竟int 和char *不是一回事,需要,否则会有个警告。因为char *声明过的类型,一次访问1个sizeof(char)长度,double *声明过的类型,一次访问1个sizeof(double)长度。
在汇编里int 类型和指针就是一回事了。因为不论是整数还是指针,执行自增的时候,都是其值加一。如果上文声明char *pT;,汇编语言中pT自增之后值为1245049,C语言中pT++之后pT值为1245049。如果32 位系统中,上文声明int *pT;,汇编语言中pT 自增之后值为1245049,可是C 语言中pT++之后pT值为1245052。
为什么DOS下面的Turbo C,和Windows下VC的int类型不一样长。因为DOS是16位的,Windows是32位的,可以预见,在64位Windows 中编译,上文声明int *pT;,pT++之后pT值为1245056。
例证(二)
对于复杂的结构,如C语言的(汇编语言对应为Record类型)按顺序分配空间。(如图2所示)
int a[20];
typedef struct st
在32 位系统下,内存里面做如下分配(单位:H,16 进制);(如图3所示)
这就说明了为什么sizeof(pst)=16而不是8。编译器把结构体的大小规定为结构体成员中大小最大的那个类型的整数倍。
至于pT的存储,可以依例推得。总长为160,此不赘述。
有个问题,如果执行pT++,答案是什么?是自增16,还是160?别忘了,pT 是,不能加减。
所以,我们就可以
typedef struct BinTree
struct BinTree *LeftC
struct BinTree *RightC
用一个整数,代表一棵树的结点。把它赋给某个结点的LeftChild/RightChild 值,就形成了上下级关系。只要无法找到一个路径,使得A-&LC/RC-&LC/RC...-&LC/RC==A,这就构成了一棵。反之就成了图。
C中是按值传递的,传入参数在子函数中只是一个初值相等的副本,无法对传入参数作任何改动。但实际编程中,经常要改动传入参数的值。这一点我们可以用传入参数的地址而不是原参数本身,当对传入参数(地址)取(*)运算时,就可以直接在内存中修改,从而改动原想作为传入参数的。
编程参数值
#include &stdio.h&
void inc(int *val)
printf(&%d& , a);
在执行inc(&a);时,系统在内存分配表里增加了一行“inc 中的val”,其地址为新地址,值为&a。操作*val,即是在操作a 了。
(*p)操作是这样一种运算,返回p 的值作为地址的那个空间的取值。(&p)则是这样一种运算,返回当时声明p 时开辟的地址。显然可以用对内存地址赋值。我们假设有这么两段内存地址空间,他们取值如下:(单位:H,16 进制)(如图4所示)
假设有这么一段代码:(假设开辟空间时p 被分配给了3001H、3002H 两个位置)
**p的值为多少?
**p=*(*(p))=*(*(2003H))=*(3000H)=3000H。
那么&&p、*(&p)和&(*p)又等于多少?
&&p=&(&(p))=&(3001H),此时出错了,3001H 是个常数怎么可能有地址呢?
*&p=*(&(p))=*(3001H)=2003H,也就是*&p=p。
&*p=&(*p)=&(3000H)=2003H,之前有人认为这个是不成立的,实际上&(3000H)是求存储3000H这个变量所在的内存地址,仍然是p的值。下面的代码是个很简单的例子:
#include&iostream&
using&namespace&
//环境vc6.0
int&main()
&&&&int&*a;
&&&&a=(int*)5;
&&&&cout&&(unsigned&int)&*a&&
输出的结果为5
两个地方要注意: 在程序声明变量的时候的*,只是表明“它是一个无符号整数,这个整数指向某个,一次访问sizeof(type)长度”。这点不要和(*)操作符混淆;
在C++程序声明变量的时候的&,只是表明“它是一个,这个引用声明时不开辟新空间,它在内存分配表加入新的一行,该行内存地址等于和调用时传入的对应参数内存地址”。
这点不要和(*)声明符,(&)操作符混淆。
对于一棵树,我们通常用它的根节点地址来表示这棵树。这就是“擒贼先擒王”。找到了树的根,其每个都可以找到。但是有时候我们需要对树进行删除节点,增加节点操作,往往考虑到删除根节点,增加的节点取代原来的根节点作为新根节点的情况。为了修改根节点这个“整数”,我们需要退一步,使用这个“整数”的内存地址,也就是指向这个“整数”的指针。在声明时,我们用2 个*号,声明指向指针的指针。它的意思是“它是一个整数,这个整数指向某个内存地址,一次访问sizeof(int)长度,其值是一个整数,那个整数值指向某个内存地址,一次访问sizeof(BTree)长度。”。详见&数据结构&有关“树”的程序代码。由于存放的的地址,因此是指向指针变量的指针变量,或称二级指针变量。
指针的初始化
对指针进行初始化或赋值只能使用以下四种类型的值[3]
1. 0 值常量表达式,例如,在编译时可获得 0 值的整型 const对象或字面值常量 0。
2. 类型匹配的对象的地址。
3. 另一对象末的下一地址。
4. 同类型的另一个有效指针。
把 int 型变量赋给指针是非法的,尽管此 int 型变量的值可能为 0。但允
许把数值 0 或在编译时可获得 0 值的 const 量赋给指针:
int zero = 0;
const int c_ival = 0;
int *pi = // error: pi initialized from int value of ival
pi =// error: pi assigned int value of zero
pi = c_// ok: c_ival is a const with compile-time value of 0
pi = 0;// ok: directly initialize to literal constant 0[3]
除了使用数值 0 或在编译时值为 0 的 const 量外,还可以使用 C++ 语言从 C 语言中继承下来的预处理器变量 NULL,该变量在 cstdlib头文件中定义,其值为 0。如果在代码中使用了这个预处理器变量,则编译时会自动被数值 0 替换。因此,把指针初始化为 NULL 等效于初始化为 0 值[3]
// cstdlib #defines NULL to 0
int *pi = NULL; // ok: equivalent to int *pi = 0;[3]
与数组关系
:就是一个由指针组成的数组,那个数组的各个元素都是指针,指向某个内存地址。 char *p[10];//p是一个指针数组
:数组名本身就是一个指针,指向数组的首地址。注意这是一个常数。
char (*p)[10]//p是一个数组指针
:本身是一个指针,指向一个函数入口地址,通过该指针可调用其指向的函数,使用函数指针可实现。
#include &stdio.h&
void inc(int *val)
void (*fun)(int *);
fun=//fun是一个函数指针
(*fun)(&a);
printf(&%d& , a);
:本身是一个函数,其返回值是一个指针。
void * fun(void);// fun是一个指针函数
这个问题大家应该都碰到过,指针数组和数组指针,刚开始看时觉得还是能看懂,但是过些时又搞混了,最后发现还是没有真正理解。
下面就简单说说这两个概念:一:指针数组,顾名思义,就是说的首先是一个数组吧,然后数组的元素是指针而已。说明形式为:type *pointer_array[constant1][constant2]...[constantn]; 例如:int *pai[4]; 由于‘*’是自右向左结合,因此从右向左看,首先看到[4]说明是一个数组,是一个包含4个元素的数组,然后看到‘*’,显然是指针类型,由此可以看出数组中存放的是指针而不是一般的类型。同理,char *pac[2][3]是包含有6个元素,每一个元素都是一个字符型指针。再来说说他们的初始化: int *pai[3];既然是一个包含4个整形指针的数组那么其对应的将是一个二维整形数组,因为一个整形指针对应一个一维整形数组。那我就用一个二维整形数组来初始化它,事实上一般也都是这么做的,这里有一个二维数组,int arr[3][2]={{1,2},{3,4},{5,6}},一个三行两列的整形数组,注意这里的行必须和你的指针数组的维数一致,否则是不允许的,不信你可以试试。这个初始化有很多种选择,以下只列举常见的两种:第一种也是很好理解的: for(int i=0;i&3;i++) pai[i]=arr[i]; 显然arr[i]是每一行的首地址,相当于一个一维数组的数组名,如是把它送给一个整形指针pai[i]是理所当然的了。
第二种方法:在说明数组指针时就初始化:int (*ap)[2]={{1,2},{3,4},{5,6}};
注意:不能将二维数组的数组名赋给指针数组的数组名,pai=arr(错),因为两者的类型不一致,二维数组名的类型是指向int[][]型的指针,而指针数组的的数组名是指向int *[]类型的指针。
在c/c++语言中,指针数组最常用的场合就是说明一个字符串数组。即说明一个数组,它的每个元素都是一个字符串。
二:数组指针:指向一个数组的指针。说明形式为:type (*pointer_array)[constant1][constant2]...[constantn]; 注意这里的圆括号是必须就将这是由于方括号[],较指针说明符“*”的优先级高,若无此圆括号,编译器将把上述说明解释成成了一个数组指针。例如:int (*ap)[2]; 这样就说明了一个指向包含有2个元素的整形数组的数组指针,听起来确实有点别扭。不过仔细分析应该还是能理解的,就是说ap是一个指针,而它指向的对象是一个指针,注意不要将它和一个指向一个整形变量的指针搞混了。同样以一个二维数组来说明其初始化问题, int arr[3][2]={{1,2},{3,4},{5,6}};注意这里的列数必须和数组指针所指的数组的列数相同。第一种方法: ap= 为什么这里能这样将二维数组名送给ap呢,你可以这样理解,二维数组不就可以看成是一维数组的数组吗,而一个数组指针它指向的内容就是一个一维数组,那么你就可以把这个数组指针当做是一个数组名,只不过这个数组里的元素不是像int,char之类型的,而是一个数组,这样你就可以把它和二维数组的数组名联系在一起了。
第二种方法: ap=&arr[0]; 这里arr[0]其实就是一维数组的数组名,将它的地址给ap是很自然的,因为ap本来就是指向一个一维数组的。注意这里不能这样初始化:int (*a)[2]={{1,2},{3,4},{5,6}};大家可以想想为什么。当然他们也可以动态赋值,由于篇幅就不探讨了。[4]
与“引用”的区别
C++编程中指针与引用的区别
一、指针和引用的区别
(1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也有可能不指向对象则必须使用 指针.
由于C++ 要求 reference 总是指向一个对象所以 reference要求有初值.
String & rs = string1;
由于没有所谓的 null reference 所以在使用前不需要进行测试其是否有值,而使用指针则需要测试其的有效性.
(2)指针可以被重新赋值而reference则总是指向最初或地的对象.
(3)必须使用reference的场合. Operator[] 操作符 由于该操作符很特别地必须返回 [能够被当做assignment 赋值对象] 的东西,所以需要给他返回一个 reference.
(4)其实引用在函数的参数中使用很经常.
void Get***(const int& a) //这样使用了引用又可以保证不修改被引用的值
★ 相同点:
1. 都是地址的概念;
指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。
1. 指针是一个实体,而引用仅是个别名;
2. 引用使用时无需(*),指针需要解引用;
3. 引用只能在定义时被初始化一次,之后不可变;指针可变;
引用“从一而终”
4. 引用没有 const,指针有 const,const 的指针不可变;
5. 引用不能为空,指针可以为空;
6. “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;
typeid(T) == typeid(T&) 恒为真,sizeof(T) == sizeof(T&) 恒为真,
但是当引用作为成员时,其占用空间与指针相同(没找到标准的规定)。
7. 指针和引用的自增(++)运算意义不一样;[5]
二、C++中指针传递与引用传递(进一步整理)
从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。
而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。
在C++中,指针和引用经常用于函数的参数传递,然而,指针传递参数和引用传递参数是有本质上的不同的:
指针传递参数本质上是值传递的方式,它所传递的是一个地址值。值传递过程中,被调函数的形式参数作为被调函数的处理,即在中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。(这里是在说实参指针本身的地址值不会变)
而在引用传递过程中,被调函数的形式参数虽然也作为局部变量在栈中开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址。被调函数对形参的任何操作都被处理成间接寻址,即通过栈中存放的地址访问主调函数中的实参变量。正因为如此,被调函数对形参做的任何操作都影响了主调函数中的实参变量。
引用传递和指针传递是不同的,虽然它们都是在被调函数栈空间上的一个局部变量,但是任何对于引用参数的处理都会通过一个间接寻址的方式操作到主调函数中的相关变量。而对于指针传递的参数,如果改变被调函数中的指针地址,它将影响不到主调函数的相关变量。如果想通过指针参数传递来改变主调函数中的相关变量,那就得使用指向指针的指针,或者指针引用。
为了进一步加深大家对指针和引用的区别,下面我从编译的角度来阐述它们之间的区别:
程序在编译时分别将指针和引用添加到符号表上,符号表上记录的是变量名及变量所对应地址。指针变量在符号表上对应的地址值为指针变量的地址值,而引用在符号表上对应的地址值为引用对象的地址值。符号表生成后就不会再改,因此指针可以改变其指向的对象(指针变量中的值可以改),而引用对象则不能修改。
最后,总结一下指针和引用的相同点和不同点:
★相同点:
●都是地址的概念;
指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名。
★不同点:
●指针是一个实体,而引用仅是个别名;
●引用只能在定义时被初始化一次,之后不可变;指针可变;引用“从一而终”,指针可以“见异思迁”;
●引用没有const,指针有const,const的指针不可变;(具体指没有int& const a这种形式,而const int& a是有 的, 前者指引用本身即别名不可以改变,这是当然的,所以不需要这种形式,后者指引用所指的值不可以改变)
●引用不能为空,指针可以为空;
●“sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身的大小;
●指针和引用的自增(++)运算意义不一样;
●引用是类型安全的,而指针不是(引用比指针多了类型检查)[6]
指针可以用来有效地表示复杂的数据结构,可以用于函数并达到更加灵活使用函数的目的.使C语言程序的设计具有灵活、实用、高效的特点。
谭浩强.《c程序设计》.清华大学出版社:清华大学出版社,2010.6:220
.维基百科[引用日期]
C++Primer第四版中文版
.CSDN 程序员网.[引用日期]
.CSND程序员网.[引用日期]
.ITeye 技术网站.[引用日期]
中国电子学会(Chinese Instit...
提供资源类型:内容Kung Fu Fighting_百度百科
Kung Fu Fighting
本词条缺少概述,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
70年代初期,中国功夫和Disco舞曲是二种波及欧美主流国家的新热潮。
中国功夫作为亚洲元素的代表,在西方人眼中具有奇异但让他们热血沸腾的特质。当然,这全应归功于大师。1971年,李小龙回港拍摄了第一部新派功夫电影《》。这部电影,成了香港电影的救市之作,更开创了一门世界电影史都必须承认的类别,中国(香港)功夫电影。到了李小龙的第三、四部电影《》(1972)和《龙争虎斗》(1973)时,因拍摄的外景场地和班底趋于国际化,让好莱坞等欧美电影发行商注意到李小龙功夫电影的独特魅力。至此,西方人狂热的爱上了李小龙这种的真功夫电影及片中所体现出惩恶扬善的,“中国功夫”这一独特的文化元素也开始被西方人熟识并学习。而李小龙强调的“用中国人的方法做外国人做不到的事”,或许也是其在西方独占一席,现今更仍是中国影人进入国际影业捷径的基点。
70—80年代,也是Disco舞曲的鼎盛时期。这种带有自我解放及反抗意识的新节奏(当时)舞曲,是生活不可或缺的一部分。那时的john travolta还是舞会王子,他着小喇叭裤的标志性舞步,带动整个Disco风潮的热力四射。由他主演的电影《Saturday Night Fever》可以看到70年代的各式代表性符号和全民皆舞的Disco疯狂。
正是在这种双重背景下,《Kung Fu Fighting》诞生了。
版本一:最原始的
Kung Fu Fighting 歌词歌手:Carl Douglas 翻译by:九世莲华
Oh-oh-oh-oh...
Everybody was kung-fu fighting 每个人都是功夫高手
Those kicks were fast as lightning 飞蹴疾如闪电
In fact it was a little bit frightning 尽管这有些惊险
But they fought with expert timing 搏斗中他们都熟练掌握着最佳时机
They were funky China men 这是一群好玩的中国人
from funky Chinatown 来自奇异的的
They were chopping them up and 他们手刀砍来
they were chopping them down 他们手刀砍去
It's an ancient Chineese art 这是古老的中国艺术
and everybody knew their part 地球人都知道
From a feint into a slip 正当你以为他们就要滑倒
and kicking from the hip 没想到转身就踹向你的屁股
Everybody was kung-fu fighting 每个人都是功夫高手
Those kicks were fast as lightning 飞蹴疾如闪电
In fact it was a little bit frightning 尽管这有些惊险
But they fought with expert timing 搏斗中他们都熟练掌握着最佳时机
There was funky Billy Chin 有一天怪怪的比利?陈
and little Sammy Chung 和小萨米?张
He said here comes the big boss 他叫道,大师驾到
lets get it on 来吧,让我们开始
We took a bow and made a stand 我们鞠躬答礼,摆好架势做好防御
started swinging with the hand 正当手腕开始甩动
The sudden motion made me skip 突如其来的动作让我轻松跳过
now we're into a brand knew trip就这样我们又进入了一个全新的境界
Everybody was kung-fu fighting 每个人都是功夫高手
Those kicks were fast as lightning 飞蹴疾如闪电
In fact it was a little bit frightning 尽管这有些惊险
But they fought with expert timing 搏斗中他们都熟练掌握着最佳时机
Oh-oh-oh-oh...Oh-oh-oh-oh...Oh-oh-oh-oh...Oh-oh-oh-oh...
Keep on, keep on, Keep on, keep on
Everybody was kung-fu fighting 每个人都是功夫高手
Those kicks were fast as lightning 飞蹴疾如闪电
In fact it was a little bit frightning 尽管这有些惊险
make sure you have expert timing 因你要确保完美掌握时机
Oh-oh-oh-oh...
Kung-fu fighting, had to be fast as lightning 功夫高手,身手必须疾如闪电
Oh-oh-oh-oh...
Keep on, keep on, Keep on, keep on
Everybody was kung-fu fighting 每个人都是功夫高手
Kung-fu fighting, had to be fast as lightning 功夫高手,身手必须疾如闪电
版本二(《功夫熊猫》主题曲)
Kung Fu Fighting (Feat. and Jack Black)
everybody is kung fu fighting
your mind becomes fast as lighting
althrough the future is a little bit fright'ning
it's the book of your life that you're writing
you're a diamond in the rough
a brilliant ball of clay
you could be a work of art
if you just go all the way
now what would it take to break
i believe that you can bend
now only do you have to fight
but you have got to win
everybody is kung fu fighting
your mind becomes fast as lighting
althrough the future is a little bit fright'ning
it's the book of your life that you're writing
you are a natural
why is it so hard to see
maybe it's just because
you keep on looking at me
the journey's a lonely one
so much more than we know
but sometimes you've got to go
go on and be your own hero
everybody is kung fu fighting
your mind becomes fast as lighting
althrough the future is a little bit fright'ning
it's the book of your life that you're writing
you're a diamond in the rough
a brilliant ball of clay
you could be a work of art
if you just go all the way
now what would it take to break
i believe that you can bend
now only do you have to fight
but you have got to win
everybody is kung fu fighting
your mind becomes fast as lighting
althrough the future is a little bit fright'ning
it's the book of your life that you're writing
版本三:Rain版本
Kung Fu Fighting - Rain
everybody is kung fu fighting
your mind becomes fast as lighting
althrough the future is a little bit fright'ning
it's the book of your life that you're writing
you're a diamond in the rough
a brilliant ball of clay
you could be a work of art
if you just go all the way
now what would it take to break
i believe that you can bend
now only do you have to fight
but you have got to win
everybody is kung fu fighting
your mind becomes fast as lighting
althrough the future is a little bit fright'ning
it's the book of your life that you're writing
you are a natural
why is it so hard to see
maybe it's just because
you keep on looking at me
the journey's a lonely one
so much more than we know
but sometimes you've got to go
go on and be your own hero
everybody is kung fu fighting
your mind becomes fast as lighting
althrough the future is a little bit fright'ning
it's the book of your life that you're writing
(rap部分)
everybody is kung fu fighting
your mind becomes fast as lighting
althrough the future is a little bit fright'ning
it's the book of your life that you're writing
Oh-oh-oh-oh...
Keep on, keep on
Keep on, keep on
everybody is kung fu fighting
your mind becomes fast as lighting
althrough the future is a little bit fright'ning
it's the book of your life that you're writing
版本四 张善为功夫fighting之电玩传奇
everybody was kung fu fighting
大家都是天下无敌
得要练就一身武艺
才能迎战 kung fu fighting
电玩主机在冒烟电视萤幕在发光
整个世界在旋转整个世界变了样
来龙去脉还未了脸上已被挨一脚
大家都在打电动为何我被电动打
everybody was kung fu fighting
打倒敌人生存下去
习武我有难言之隐
我的造型很tekken
我有朋友宫之介
有个女孩叫萝拉她说带我闯一闯
左鬼武者右洛克人决斗一场又一场
回家只有一条路
ko魔王和老大
everybody was kung fu fighting
弱肉强食就是真理
即使我有一身正气
心里只想回家休息
kung fu fighting
传说电动连打七七四十九天
就会被抓到一个神奇的世界
想要活命的人一刻都不能放松
不然不到两天你肯定就会失踪
所有被你欺负消灭糟蹋的角色
都会一一出现找你讨公道
这里的坏蛋一个比一个凶
这里的女人比男人还会武功
从小时候阿嬷就不喜欢让我打电动
因为我不关机不睡觉不作邉?br&现在我一身武艺经验值2兆
可是我却再也不敢打电动
版本五 杜德伟——功夫
歌手:杜德伟
专辑:独领风骚 新歌精选集
大家都来学功夫来齐
给挫折一点教训
~都是世界fighting
要将功夫到顶神秘
中国功夫真是棒 中国功夫真是好
那就只有你的牢 能够金枪不倒
普通功夫猜不了 不就是老板太难搞
如果你已受不了 给他闷一点~~
大家都来学功夫 来齐
给神话一点憧憬
~功夫心情fighting
给自己一点自信
中国功夫真是棒 中国功夫真是好
能够让你比真金 不再给邻居瞧不起
多么可惜 永远都上
就彻底~supper man
每天让自己快乐 维护世界的和平
大家都来学功夫来齐
让车座变更坚硬
练就功夫心情fighting
要将功夫到顶神秘
中国功夫真是棒 中国功夫真是好
能够让你比真金 不再给邻居瞧不起
多么可惜 永远都上
就彻底~supper man
每天让自己快乐 维护世界的和平
大家都来学功夫来齐
让车座变更坚硬
练就功夫心情fighting
要将功夫到顶神秘
给神话一点憧憬
给自己一点自信
歌词中文翻译
Everybody was kung-fu fighting
每个人都有功夫
Those cats were fast as lightning
他们灵动如猫,快如闪电
In fact it was a little bit frightning
事实上他们只用了一点点力气
But they fought with expert timing
但是战斗却起到强大的效用
They were funky China men from funky Chinatown
这是一群惊恐的中国人来自惊恐的
They were chopping them up and they were chopping them down
他们气势汹汹的砍上砍下
It’s an ancient Chineese art and everybody knew their part
这是古老的中国艺术,他们都知道自己的角色
From a feint into a slip, and kicking from the hip
他们会突然用闪开,踢到你的屁股
Everybody was kung-fu fighting
Those cats were fast as lightning
In fact it was a little bit frightning (重复)
But they fought with expert timing
There was funky Billy Chin and little Sammy Chung
这里有一个胆战心惊的 Billy 陈 和一个小 Sammy 张
He said here comes the big boss, lets get it on
他说来这里见一个大老板,让我们兴奋
We took a bow and made a stand, started swinging with the hand
我们给他鞠躬、起立,高兴的握手
The sudden motion made me skip now we’re into a brand knew trip
但是突然的变故使我改变,开始了一段刻骨铭心的新旅行
Everybody was kung-fu fighting
Those cats were fast as lightning
In fact it was a little bit frightning
But they did it with expert timing
(repeat)..make sure you have expert timing
Kung-fu fighting, had to be fast as lightning
当然也还有舞曲版本的,但基本旋律基本上是一致的,还是以上面的为主。
否则就不是Carl Douglas(卡尔-道格拉斯)那《Kung Fu Fighting》了。

我要回帖

更多关于 lavin玫瑰里 的文章

 

随机推荐