每日动态!你管这破玩意叫指针?
本系列分三篇,用破玩意的方式彻底理解好指针的本质:
(资料图片仅供参考)
你管这破玩意叫指针 -- 基础篇
你管这破玩意叫指针 -- 进阶篇
你管这破玩意叫指针 -- 变态篇
话不多说,开始!
内存,通常被严谨地画成下面这个样子,一个下方是低地址上方是高地址的格子楼。
但我今天换种画法,画成下面这个样子。
每个格子代表内存中的 1 个字节(8 位),格子上的数字就代表内存地址,我也直接用 10 进制来表示了,免得 16 进制又算不明白了。
目前内存是完全空的,格子里没有任何内容。
试想一下,如果你忘掉所有的语法规则和编程规范,你会如何描述对这些内存格子的操作呢?
一、类型系统
很简单,往格子 3 处放个数字 29,往格子 6 处放个数字 38,就这么简单直接地描述即可。
但是这样说话太麻烦了,什么往格子 3 处放个数字 29 的,废话太多,也不方便不讲感情的计算机去理解。
那我们就定个指令,使用 mov $x, (y) 表示把数字 x 放入格子 y,如下:
mov$29,(3)mov$38,(6)
这就表示刚刚说的:
把数字29放入内存格子3把数字38放入内存格子6
是不是太简单了?别急,好戏马上开始!
如果要把数字 999 放入内存格子 8,该怎么办呢?
由于 1 个格子表示 1 个字节,只有 8 位,因此只能表示 256 个数字,要么是有符号的 -128 ~ 127,要么是无符号的 0 ~255,显然数字 999 无法放在 1 个格子内,只能占用 2 个格子了。
那也好办,就这么说,把数字 999 放入格子 8,连续占用两个格子。
但这样,我们刚刚的 mov 指令就得改改了,不但要表示"存放"这个含义,还得表示占用了多少个格子。
我们用 movb 表示只占 1 个字节,用 movw 表示占用 2 个字节。那么,刚刚的三个数字,就分别可以这样用指令来表示了:
movb$29,(3)movb$38,(6)movw$999,(8)
含义就是:
把数字29放入内存格子3,占1个字节把数字38放入内存格子6,占1个字节把数字999放入内存格子8,占2个字节
OK,既然有了 1 字节和 2 字节的的指令,不妨再设计下,用 movl 表示 4 字节,movq 表示 8 字节 ...
movb占用1字节movw占用2字节movl占用4字节movq占用8字节
不知不觉,类型系统就被你悄悄设计出来了!当然,虽然这只是个半成品。
二、变量
你不断地往不同格子里放数据。
比如我把我的年龄放在 11 号格子(占 1 字节),把我的月薪放在 14 号格子(占 4 字节)。
现在我们的内存已经非常混乱了,你根本记不住原来的 3 号格子放的数据表示什么,11 号格子又表示什么,只能通过看数字知道 14 号格子里放的确实是我的月薪。这该怎么办呢?
增加一层抽象嘛!我们给这些放了我们数据的格子,都贴上个标签,就可以不用再记那些无意义的格子编号了。
这样以来,其实我们也不再关心,这些标签到底在哪个格子里,只要给我找到格子把我的数据放进去就可以了。
movb$29,amovb$38,bmovw$999,cmovb$18,agemovl$2147483647,salary
当然,我还需要再通过这个标签,把我刚刚放进去的数据找出来。
这很简单,但存在一个问题,放进去的时候,我们可以通过 movb,movw,movl 等知道占用多少个格子。而取出来的时候,标签上可没有写这个数据占用了多少个格子,这是有问题的。
因此,在定义这个标签时,不能光取个名字,还需要有个信息就是,这个标签对应的数据,占了多少个格子。
我们就效仿刚刚的存放操作,也规定一系列单词,来修饰这些标签,表示占用了多少个格子。
char 表示 1 个字节,short 表示 2 个字节,int 表示 4 个字节,long 表示 8 个字节 ...
于是乎刚刚的 5 个数据,就可以表示为如下指令:
chara=29;charb=38;shortc=999;charage=18;intsalary=2147483647;
行了,我也别藏着掖着了,相信大家也知道,这里就是 C 语言的写法,而刚刚那堆 mov 是汇编语言的写法。
这些 char a,char b,int salary 等,就是变量!记住,变量不但要有名字,还得有类型!
三、变量定义与赋值
其实,刚刚的写法,是把变量的定义与赋值操作写在一行了。
比如有如下语句:
inta=1;
实际上是分成两步的:
//变量的定义inta;//变量的赋值(此处也可以叫变量的初始化)a=1;
其中变量的定义是为了方便程序员后面去用它,这部分不是给 CPU 看的。
而变量的赋值才是真正在内存中把数据放进去,这部分才真正涉及 CPU 具体指令的执行。
也就是说,如果你仅仅定义了一个变量 int a; 但是没有给它初始化的赋值操作,那么最终在 CPU 执行指令的时候,这个定义根本就没有任何体现。
四、指针
现在,让我们把内存清空,回到一开始的那一片净土上。
我们来搞点花样。我将我的密码(1234)存储在一个 short a 中,假设这个变量 a 被放在了 6 号格子处。
同时,我将这个变量 a 的地址,也就是 6 这个数字,存储在另一个变量 int p 中,假设这个变量 p 被放在了 1 号格子处。
这样,我寻找我密码的方式,就是先通过 p 所在的内存地址找到里面存的值,也就是 a 的内存地址 6,再通过 a 的内存地址找到里面存的值,也就是我要找的密码 1234。
我们可以用下面的代码来表示刚刚的存放逻辑。
shorta=1234;//假设a被放在了6号格子处intp=6;
这里的 p 和 a 都是变量,只不过,p 这个变量有点特殊,它里面存放的值是一个内存地址,我们把 p 这个变量形象地成为指针变量,简称指针。
不过,这样有几个问题,我一个个来说。
1. 取地址
首先,我们在编码阶段,无法知道也无需知道变量 a 会存放在哪里,不然就失去了标签的含义,又回到了需要关心具体的内存地址(也就是格子编号)的时代了。
所以,我们应该有个方法,来在编码阶段表示变量 a 的地址的含义,姑且就叫做 &a 吧。
那么我们的代码,就可以优化为:
shorta=1234;//假设a的地址是6//那么下面的p就等于6intp=&a;
用图来表示就是:
2. 指针变量本身的大小
视角放到这个变量 p 身上,虽然本质上这个变量 p 里面存放的就是一个数值,假设是 6,但是它却表示了一个内存地址的值。
如果让程序员随便规定这个变量 p 的数据类型(也就是占多少个字节),那显然容易出问题。
比如内存地址是 999,那么我用一个 char 类型的变量 p 来存放它,就会有问题。
我们在编码阶段是无法确定一个变量的内存地址是多少的,所以用什么类型的变量来存放它,也是无法判断的。
所以,最稳妥的办法就是,用一个完全能容纳所有内存地址范围的变量类型来存放指针变量。
我们姑且认为我们是在一个 32 位的系统上,那么用一个 4 字节大小的变量来存放,就可以了。(当然,实际上这取决于你的编译器的位数)
现在,我们的指针变量所占用的内存大小,就是固定的 4 个字节,也就是 4 个格子。
程序员无需也无法修改这个大小,那么我们就可以把 p 前面的数据类型去掉了。
shorta=1234;p=&a;
3. 指针变量的类型
刚刚我们解决了指针变量本身所占用的内存大小,但是还有一个问题没有解决,就是指针变量里存放的内存地址处的变量的大小。
也就是说,上面的指针变量 p 里虽然存放了变量 a 的内存地址 6,但是指针变量 p 却没有任何信息,来说明内存地址 6 处的变量,它的大小是多少。
假如,我们认为内存地址 6 处的变量是个 char 类型,也就是只占用了一个字节,那么显然,会取出一个不符合预期的值。
当然,如果认为 6 处的变量是个 int 类型,占 4 个字节,虽然数值上可能没有问题,但从某种程度上讲也是不太符合预期的(假如 8 号和 9 号格子里有其他内容,那就更不符合预期了)。
所以,必须得完全按照变量本身的类型,也就是 short 类型来读取此内存地址处的值,才是正确的。
那我们应该如何表示这个信息呢?即如何表示,变量 p 是一个指针,且这个指针里面存放的内存地址处的变量的类型是 short。
很好办,直接说答案吧。
shorta=1234;short*p=&a;
p 前面的 * 表示变量 p 是一个指针类型,再前面的 short 表示该指针指向的内存地址处的变量,是个 short 类型的变量。
当然,更准确的说法是,指针 p 将会按照 short 类型的变量来读取它指向的内存,至于那里到底是什么,无所谓。
注意哦,这个 short 并不是表示指针变量本身的大小占 2 个字节,指针变量本身我们前面说过了,就是固定的 4 字节大小。
不过总是这样说太绕口了,今后我们就说,变量 p 是个 short * 类型的指针,就可以了。
用上面的图形象地说就是,右边变量 a 蓝色的填充,表示 a 是个 short 类型,而外面的虚线框框,表示指针 p 按照 short 类型的变量来"解读"内存地址 6 处的数值。
两者相匹配了,就是"正确"的编程代码了。
当然,这里的"正确",是说给程序员听的,CPU 才不关心。
4. 指针所指向的值
上面我们已经可以获得某个变量的地址,比如获取 a 的地址就是:
&a
同时我们也可以定义一个指针变量,比如定义一个 short * 类型的指针变量 p:
short*p;
并且,我们通过直接赋值操作,可以给指针变量进行初始化:
p=&a;
当然,上面的代码也可以连起来写,即指针变量 p 的定义与初始化写在同一行:
short*p=&a;
不过,我们还没有一个方法,来表示指针变量 p 所指向的那块内存。
那我们就发明一个,比如想把 p 所指向的那块内存的值改为 999,可以这样写。
*p=999;
这里的 * 就表示"指向"的含义,即 *p 不是说 p 这个变量的内存地址,而是把 p 这个变量里存的内容当做内存地址来看,指向这个内存地址。
用图表示就是:
所以连起来一个完整的程序就是:
shorta=1234;//指针的定义short*p;//指针的初始化,也即指针变量本身的值p=&a;//指针变量所指向的内存地址的值*p=999;
执行过后,a 的值会变成 999,或者说 6 号格子与 7 号格子里的值会变成 999。
5. 指针的加减
如果对一个普通变量 +1,比如说:
inta=1;intb=a+1;
那显然,b 的值应该是 2,毫无疑问。
但是如果对一个指针变量 +1,会怎么样呢?
inta=1;int*p=&a;int*p2=p+1;
我们假设变量 a 放在了格子 1 处。
变量 a 的值是什么,以及变量 p 被放在了哪里,我们都不关心,就只盯着 p 的值看,显然,一开始的时候是 1。
(为方便演示,下面的图直接表示 p 所指向的内存地址,而不是 p 本身所在的内存地址)
我们先不考虑,p + 1 应该是几,如果让你来设计这个语言,你觉得 p + 1 是几比较好呢?
我认为,只有两种较为合理的设计。
第一种,p + 1 就等于 2,就简简单单当做数值进行加法运算而已。
第二种,p + 1 等于 5,即跨过一个 p 所指向的内存单元的数据类型的大小,也就是 4 字节的 int。
你觉得那种比较合理呢?
那显然是第二种嘛!不然和普通变量有啥区别了,你既然设计出了指针变量这个玩意,就需要让它发挥点方便程序员的作用,这才是你设计它的真正目的。
当然你不服,你就想让这个 int * 类型的指针变量,就真真正正在数值上只 +1,也就是让 p 等于 2,该怎么办呢?
很简单,分成三步就好了:
第一步,把 int * 类型的 p 强转为 char * 类型的 p。
第二步,p + 1。
第三步,再把 char * 类型的 p 强转为 int * 类型。
完事!用代码表示就是:
p=(int*)((char*)p+1);
你会看到,C 语言项目中经常使用这样的玩法。
当然,你这一顿花里胡哨的操作,在 CPU 眼里,就是对一个内存地址处的值简简单单地 +1 而已。
五、指针的本质
我们看上面的一张图:
其实,别看上面又 short * p 又 short a 的,这是给程序员和编译器看的。
在 CPU 眼里,根本没有这些眼花缭乱的标签,以及五花八门的解读,就是 0 ~ 4 号格子里存了个数字 6,然后 6 ~ 7 号格子里存了个数字 1234,仅此而已。
更进一步讲,其实就只是 1 号格子里存储了数字 6(234 号格子是空的),6 号格子里存储了数字 12,7 号格子里存储了数字 34。
(当然实际得转换成二进制,再结合大端序还是小端序来看哈,我这里就是简单直观告诉大家 CPU 才不管那么多,就一个格子一个格子的放数字就完事了)
所以,我们经常听书上讲,让大家一定要记住,指针变量中只能存放地址,不要将一个整数或任何其他非地址类型的数据赋给一个指针变量了。
这种说法就非常别扭,很多书上,即想讲清楚指针的本质,又想讲清楚指针的注意事项,混杂在一起,让读者即没有搞清楚指针的本质,又不知道指针的注意事项。
真纠结!
说实话,就光看书而没有经过大量 C 语言的实践,谁能记得住或者理解透彻那些注意事项。而经过大量 C 语言实践的人,指针早就融入进血液中了,谁还来看你讲指针的本质?所以说,这块我觉得非常之矛盾。
实际上,指针变量的本质和普通变量是一样的:
普通变量,写个 short a,是在告诉编译器,当我 a = 1 时,你给我找到一块 2 字节的内存,把 1 填充进去。
指针变量,写个 short * p,是在告诉编译器两件事情:
当我 p = xxx 时,你给我找到一块 4 字节的内存(我们假设指针本身的大小固定 4 字节),把 xxx 填充进去,这就和普通变量完全一样;
当我 *p = yyy 时,你给我找到 xxx 内存地址,并且按照 short 类型也就是 2 字节大小,把 yyy 填充到这里。
所以,谁说不能把一个整型变量赋给指针了,我这不就把一个整型变量 xxx 赋给指针 p 了么,我赋值的时候就说它是整型变量了,怎么的吧?
但是我用它的时候,我 *p 又把 xxx 看做是一个内存地址了,就去找内存 xxx 的地方,又怎么的吧?
用代码来表示就是:
我强行把一个整型数值 6 赋值给指针变量 p,然后 *p 去访问内存地址 6 并修改那个地方的值:
int*p=6;*p=999;
我还可以把一个地址值,强行赋值给一个普通变量:
inta=1;intb=&a;
这时普通变量 b 里面存储着 a 的地址,我 *b 也同样可以访问到 a 并修改它的值:
*b=999;
当然如果你真这么写编译器会报错,但没关系,我们可以先把普通变量 b 强转为指针变量,然后再 * 它:
*(int*)b=999;
你还可以玩些更花哨的,先 & 取地址,再 * 取值,虽然没啥用:
*((int*)*(&p))=999;
假如 a 的地址是 6 的话,其实你这些花里胡哨的操作,最后到人家 CPU 眼里,就是一条简单的指令:
movl$999,(6)
就是想把 999 放在 6 号格子嘛!
所以,不要把指针想得多么复杂和神圣,它就是方便了程序员编程,同时告诉编译器应该怎么编译成最终的指令。
你写了个 *p,就是把 p 的值当做内存地址去访问,在汇编语言层面就是加了个括号:
(p)
你写了个 &a,就是取出变量 a 的内存地址,在汇编语言层面就是 lea 指令:
leaa,xxx
你如果写了个 ***p 那就是,相当于加了三次括号:
(((p)))
当然啦,以上都是方便理解的伪指令,具体落实到真正的汇编语言,我会在后续的章节中讲述,直接从汇编语言理解指针,你就会发现指针就是个工具人而已。
六、写在最后
至此,我们的《你管这破玩意叫指针 -- 基础篇》就讲完了。
我们从最开始的内存格子出发,逐渐推导出类型系统和变量的作用,进而再引出本质上和普通变量没有任何区别的指针变量,最后再推导出指针变量相关的操作,带你看清了指针的本质。
你不要去记本文的知识点,重在整个推导的过程,要去理解指针想解决的问题是什么,它的合理性在哪,哪一部分信息是给程序员和编译器看的,哪一部分操作最终又是真正落实到 CPU 指令的,这些才是关键。
当然,我还是给你简单总结下知识点相关的部分,其实简单说,就这么几件事。
定义一个指针:
int*p;
赋值或初始化一个指针:
p=&a;
修改指针的内容:
*p=999;
指针的加减(其实到后面讲的数组才有价值):
p=p+1;
完事,就这些!
最后,给大家推荐两个网站。
一个是可以将 C 语言代码实时编译成汇编代码,你可以用它来自己玩指针做实验,看它最终到 CPU 指令层面是什么样。
https://godbolt.org
一个是 GNU C 手册,里面对各种语法和作用讲述的非常清楚,不要再用百度搜博客了。
https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html
比如讲类型系统里的整型类型:
再比如讲指针的定义和初始化:
我相信本文看下来,一定有人想问,short * p 是不是应该写成:
short*p
或者
short*p
自己去上面的文档里找答案即可。
OK,本文到这里就终于要结束了,在接下来的进阶篇里,我会讲述二级指针、数组、函数指针、字符串、结构体、结构体数组与指针等内容。
虽然说是进阶篇,但我认为,指针的本质反而是进阶,而指针的进阶反而是基础。
因为假如理解了上述的一切,下面的所谓指针进阶玩法,都可以通过指针的本质以及语言设计的合理性,推导出来,再往后无非是需要花时间熟练使用和掌握罢了。
所以,理解好今天的内容,非常重要!
敬请期待:
你管这破玩意叫指针 -- 进阶篇
你管这破玩意叫指针 -- 变态篇
相关阅读
-
每日动态!你管这破玩意叫指针?
本系列分三篇,用破玩意的方式彻底理解好指针的本质:你管这破玩意... -
满山橘黄枝头飘香 产业发展绘就乡村振...
贵港市平南县马练瑶族乡水晏村沃柑基地里,一派丰收在望的喜人景象... -
1月19日不可错过的股市资讯(锂矿巨头业...
各位朋友大家早上好!猜测一下今日大盘吧!您的选择很重要哦~投票截... -
厦门市博物馆2023春节假期开放时间(主...
厦门市博物馆2023春节假期开放安排公告亲爱的观众朋友:为满足广大... -
春节自驾游,愿你欢乐出行,平安归来!
春节自驾游,愿你欢乐出行,平安归来!【健康幸福过新年】(5)春节自... -
灾厄村民与村民 1
一个美好的下午,灾厄村民又在林地府邸密谋坏主意了,唤魔者:这次... -
环球信息:2022年全国地级及以上城市优良...
新华社北京1月17日电(记者高敬)生态环境部生态环境监测司副司长蒋... -
环球信息:雅培连续十二年荣膺“中国杰出...
2023年1月17日,上海——今日,国际权威的杰出雇主调研机构(TopEmp... -
世界速看:2022年国民经济顶住压力再上...
2022年国民经济顶住压力再上新台阶---国家统计局1月17日发布数据。2... -
全球今头条!汉邦高科(300449.SZ):副董...
格隆汇1月17日丨汉邦高科(300449)(300449 SZ)公布,公司于2023年1... -
太子岭滑雪场除夕开放吗
雪场营业时间:周一至周五09:00-17:30周末及法定节假日09:00-18:00太... -
环球关注:中广核新能源:拟2.005亿元出...
中广核新能源公布,于2022年6月15日,公司全资附属中广核深圳拟向中... -
《刀剑神域:彼岸游境》DLC前篇宣传片放出
万代南梦宫发布了《刀剑神域:彼岸游境》DLC前篇"Myosotis"宣传片... -
经典文字冒险重制《巨洞探险》确认将登...
开发商宣布,CygnusEntertainment将发布PlayStationVR2版本的文字冒... -
新消息丨《狂想乐园》新预告公布 2023...
今日(1月19日),万代官方公布《狂想乐园》管理预告,《ParkBeyond... -
世界新消息丨研究显示:欧美游戏评级需...
游戏内战利品箱的研究人员LeonXiao最近发现,在游戏评级标志上关于... -
每日动态!你管这破玩意叫指针?
本系列分三篇,用破玩意的方式彻底理解好指针的本质:你管这破玩意... -
WOW怀旧服将开启免费 一切由暴雪负责与...
暴雪和网易间的现行许可协议将在2023年1月23日到期,但暴雪没找到下... -
amgcsgo开箱网出金概率高吗 出金概率最...
,csgo开箱网站目前有很多,但其中很多网站不是很靠谱,很多朋友不... -
csgo95skins是不是正规网站 正规csgo开...
,在CSGO游戏中,很多玩家都喜欢开箱,市面上的开箱平台有很多,但... -
66开箱csgo开箱网站好用吗 最公平的csg...
,说起csgo这款游戏,开箱是最值得大家期待的,也是令广大CSGO玩家... -
天天资讯:《原神》拾枝杂谈-「瑶瑶:樨...
今日(1月19日),原神官方公布《原神》拾枝杂谈-「瑶瑶:樨馨云外... -
天天视点!《死亡空间RE》前篇与原版高...
再过一周时间,《死亡空间:重制版》就将发售,随着日期的临近,媒... -
天天快看点丨amgcsgo开箱平台好用吗 国...
,csgo开箱网站目前有很多,但其中很多网站不是很靠谱,很多朋友不... -
今日讯!新人开箱免费的csgo网站有哪些...
,csgo开箱网站目前有很多,但其中很多网站不是很靠谱,很多朋友不... -
恐怖新作《野狗子》官方概念图 多项关...
早在2021年的TGA时,《寂静岭》总监外山圭一郎便公布了独立新作《野... -
全球热点!台北电玩展特别活动「BNE FU...
万代南梦宫娱乐今日宣布,将参展2月4日及5日举行的2023TaipeiGameSh... -
csgo人民币开箱网站有哪些 五大能赚RMB...
,说起csgo这款游戏,开箱是最值得大家期待的,也是令广大CSGO玩家... -
焦点讯息:8090skins开箱网站爆率高吗 ...
,csgo开箱网站目前有很多,但其中很多网站不是很靠谱,很多朋友不... -
天天头条:goodcsgo饰品开箱交易安全吗...
,csgo开箱网站目前有很多,但其中很多网站不是很靠谱,很多朋友不... -
视点!《英雄连3》 英军阵营全新宣传片...
今日(1月19日),世嘉官方公布《英雄连3》英军阵营全新宣传片,《... -
世界快看:《死亡空间:重制版》前期跟...
《死亡空间:重制版》高级出品人PhillipeDucharme近日接受采访,表... -
天天消息!857skins开箱网靠谱吗 2023...
,作为国际上最火爆的fps游戏csgo,日在线人数不停的在增长。虽然游... -
FPS《原子之心》新实机短片 特工P-3激...
历经数年开发,第一人称动作射击游戏《原子之心(AtomicHeart)》将... -
环球简讯:PS5《Forspoken》开局实机演示...
当前距离SquareEnix新作《Forspoken》发售还有一周时间,在日前的直... -
世界观察:《毁灭全明星》厂商转投微软...
英国游戏开发商LucidGames之前一直都在参与PlayStation游戏的制作,... -
《龙与地下城》授权草案引争议 威世智...
威世智日前针对《龙与地下城》最近泄露的“开放游戏许可(OGL)”草... -
天天热文:恐怖游戏《野狗子》全新概念...
今日(1月19日),由《寂静岭》开发者外山圭一郎创立的BokehGame工... -
每日讯息!各有千秋 《塞尔达传说:时之...
CryZENx曾分别使用虚幻引擎4和虚幻引擎5对《塞尔达传说:时之笛》进... -
动作FPS《Wanted:Dead》新实机 敌人的花样死法
《忍龙》部分成员参与制作的高难度第三人称动作游戏《Wanted:Dead... -
焦点快看:《漫威复仇者联盟》雷神皮肤...
《漫威复仇者联盟》最近推出了一款“全新”的皮肤。官方宣称其“受... -
每日热点:王者荣耀好运60卡价格介绍
王者荣耀最近推出了一个好运60卡,这个好运60卡购买以后可以获得很多 -
世界今亮点!《毁灭全明星》开发商宣布...
LucidGames是2021年PS5载具战斗游戏《毁灭全明星》的开发商,该开发... -
快讯:《Returnal》PC特性宣传片 光追...
在尝到登陆PC的甜头后,索尼第一方游戏登陆PC的脚步就愈发急促了起... -
《死亡空间:重制版》前期跟原版很像 ...
《死亡空间:重制版》高级出品人PhillipeDucharme近日接受采访,表... -
王者荣耀2023曜兔年限定山海苍雷引皮肤...
王者荣耀2023曜兔年限定山海苍雷引皮肤多少钱呢?王者荣耀2023曜兔年 -
《魔兽世界》“电子骨灰盒”上线 网...
此前暴雪宣布《魔兽世界》国服关服后,玩家需要自行将游戏数据保存... -
当前讯息:恐怖游戏《野狗子》全新概念...
今日(1月19日),由《寂静岭》开发者外山圭一郎创立的BokehGame工... -
《死亡岛2》“丹妮”角色预告 嗜血杀敌...
难产多年,期间接连更换3任开发商,但巧的是《死亡岛2(DeadIsland2... -
《通缉令:死亡》发布处决实机演示视频...
今日(1月19日),IGN发布了动作游戏《通缉令:死亡》的处决演示内... -
满山橘黄枝头飘香 产业发展绘就乡村振...
贵港市平南县马练瑶族乡水晏村沃柑基地里,一派丰收在望的喜人景象... -
世界视点!谷歌在Stadia云服务下线当天...
几小时前,谷歌为Stadia手柄发布了蓝牙功能更新。Stadia云游戏服务... -
环球消息!《霍格沃茨之遗》新预告 猫...
再过半个月时间,期盼许久的麻瓜们就能入学霍格沃茨学院啦!随着日... -
每日动态!《飙酷车神2》发布第7季第2章...
育碧公布了《飙酷车神2》新预告,同时宣传新章节将于本周四(1月19... -
蒸汽世界将于1月23日举行特别活动发布系...
前两天,蒸汽世界系列开发商Thunderful通过一段摩斯电码预告将于18... -
经典街机游戏《坦克大战》现已登陆PS和Switch
持续保持将经典街机游戏带到现代游戏平台的Hamster宣布,在今天(1... -
环球即时:2023台北国际电玩展2月2日开...
作为新一年开篇的全球游戏展会“揭幕战”,“2023台北国际电玩展(T... -
当前通讯!《如龙维新!极》“另一种生...
今日(1月19日),《如龙维新!极》公布“另一种生活”概述预告,视... -
《冲就完事模拟器》发布“古墓丽影包”...
此前,SquareEnix和FuturLab已经确定将在1月30日把《冲就完事模拟器... -
每日资讯:《魔咒之地》媒体评分将于1月...
SE开放世界动作游戏《魔咒之地》即将于1月25日推出,登陆PC和PS5。... -
全球今头条!育碧巴黎工会要罢工 CEO为...
据报道,育碧首席执行官YvesGuillemot现已为在公司最近一个季度令人... -
饭制《艾尔登法环》地理猜测 检验你对...
一直以来,网络上又有一个比较“硬核”但又非常热门的游戏,名叫Geo... -
全球即时看!《吴之冠》发布传奇版预告...
《黑神话悟空》终于确定在2024年夏天发售,这个消息让很多人兴奋不... -
《江湖十一》白鹤行云支线怎么触发?《...
《江湖十一》白鹤行云支线如何完成呢?很多玩家还不知道,下面玩咖... -
《原神》神的棋盘解谜答案是什么?《原...
《原神》神的棋盘怎么解密?《原神》千壑沙地神的棋盘怎么解密?下... -
《江湖十一》雪猫寻踪支线任务如何达成...
《江湖十一》雪猫寻踪支线怎么做呢?很多玩家还不太清楚,下面玩咖... -
《觅长生》赚钱赚经验丹药配方怎么合成...
《觅长生》赚钱赚经验丹方有哪些?《觅长生》赚钱赚经验丹药配方有... -
《觅长生》补天芝在哪刷新?《觅长生》...
《觅长生》补天芝刷新地点在哪?《觅长生》补天芝去哪找?《觅长生... -
环球关注:微软大裁员 B社等多个游戏工...
据彭博社消息,微软这次大裁员将会影响到游戏部门。除了刚才报道的... -
传343至少60人被微软裁掉 大部分负责《...
昨天有消息爆出微软即将大裁员。据外媒LordsofGaming,微软这次大裁... -
低配版黑神话悟空《吴之冠》发布新预告
《黑神话悟空》终于确定在2024年夏天发售,这个消息让很多人兴奋不... -
1月19日不可错过的股市资讯(锂矿巨头业...
各位朋友大家早上好!猜测一下今日大盘吧!您的选择很重要哦~投票截... -
环球热议:经典街机游戏《坦克大战》现已...
持续保持将经典街机游戏带到现代游戏平台的Hamster宣布,在今天(1... -
今日热讯:《冲就完事模拟器》月末开放...
此前,SquareEnix和FuturLab已经确定将在1月30日把《冲就完事模拟器... -
蒸汽世界将于1月23日举行特别活动发布系...
前两天,蒸汽世界系列开发商Thunderful通过一段摩斯电码预告将于18... -
天天微头条丨独立游戏团队为任天堂Switc...
相比WiiU、3DS,甚至NDS来说,任天堂的Switch虽然性能更强,但是在... -
讯息:《咖啡心语第二集》年内发售 试...
《咖啡心语第二集:洛神花与蝴蝶》已上架Steam平台,游戏支持中文,... -
全球球精选!《死亡回归》PC版特性预告...
索尼宣布其第三人称rogue-lite射击游戏《死亡回归》PC版将于2月15日... -
今日热议:《Jett:遥远彼岸》免费扩展...
Superbrothers和PineScentedSoftware宣布,《Jett:遥远彼岸》(JET... -
天天快看:《底特律:化身为人》销量突...
QuanticDream宣布,其叙事冒险游戏《底特律:化身为人》自2018年推... -
天天亮点!《死亡回归》PC版4K光追配置...
Housemarque的《死亡回归》已经确认了PC版发行日期以及相关特性,如... -
每日简讯:《霍格沃茨之遗》入选美国各...
即使还有数周发售,但由WBGames负责开发的《霍格沃茨之遗》已经位居... -
《霍格沃茨之遗》新预告发布 猫头鹰鸟...
开放世界动作角色扮演游戏《霍格沃茨之遗》发布了新的CG预告,通过... -
全球观焦点:横向滚屏《Elderand》2月16...
发行商GraffitiGames和开发商Mantra和SinergiaGames宣布,横向滚屏... -
厦门市博物馆2023春节假期开放时间(主...
厦门市博物馆2023春节假期开放安排公告亲爱的观众朋友:为满足广大... -
《倾听画语》工作室新作《The Star Na...
《倾听画语》工作室SilverLiningStudio开发的手绘叙事解谜游戏《The... -
每日快播:《艾尔登法环》新MOD 成功解...
《艾尔登法环》无疑是2022年不可错过的佳作,但不可否认的是,PC版... -
全球热点!中国台北国际电玩展2月2日开...
2023年中国台北国际电玩展(TpGS23)将于2月2日至5日举行,根据官方... -
《卧龙》测试版全Boss演示 张梁、朱厌...
最近部分媒体受邀试玩了暗黑三国诛死游戏《卧龙:苍天陨落(WoLong... -
Switch成美国2022年最畅销主机 消费者...
虽然坊间关于任天堂何时推出新Switch的猜测不断,业内分析师也频繁... -
全球快播:《失落的方舟》X《巫师3》联...
亚马逊MMORPG《失落的方舟》今天正式开启《巫师3》联动活动,截止2... -
全球视讯!中世纪风类魂肉鸽《死亡教...
中世纪风类魂肉鸽《死亡教堂》将在2月15日于Epic及Steam平台开启EA... -
江湖十一灵指神通武功怎么获得
《江湖十一》中的灵指神通是游戏里很特别的一种绝世级别的指法武功... -
2023 SEGA春节促销开启 近百款游戏...
世嘉股份有限公司宣布,目前正在举办“2023SEGA春节促销”,PlaySta... -
天天视讯!《王者荣耀》发布牛魔王新皮...
《王者荣耀》牛魔王新皮肤即将正式上线,1月21日~27日可享受60点券... -
春节自驾游,愿你欢乐出行,平安归来!
春节自驾游,愿你欢乐出行,平安归来!【健康幸福过新年】(5)春节自... -
大王可知此乃何处?《艾尔登法环》地理...
《艾尔登法环》推出快一年了,可惜去年的TGA颁奖典礼上,宫崎英高从... -
全球资讯:csgo哪些开箱网站能免费抽一...
,很多喜欢玩csgo的小伙伴都知道开箱是一个非常随机的玩法,你可能... -
《王者荣耀》“牛魔王·牛运亨通”皮肤...
除了5款以山海经异兽为蓝图制作的兔年限定皮肤,和孙悟空“齐天大圣... -
即时:《魔界战记7》スイセン角色介绍 ...
今日(1月18日),日本一官方公布《魔界战记7》スイセン(CV:河瀬... -
快看:江湖十一神月天罡枪法武功怎么获得
《江湖十一》中的神月天罡枪法是游戏里非常厉害的绝世级别的枪法武... -
天天微动态丨mucsgo开箱网能不能出金 ...
,csgo开箱网站目前有很多,但其中很多网站不是很靠谱,很多玩家不... -
《弈仙牌》春节更新已上线 新角色慕虎...
墨日工作室日前推送了修仙题材卡牌对战游戏《弈仙牌》版本更新,加... -
天天热点!《守望先锋2:归来》春节活动...
因为暴雪的“暗度陈仓”计划失败,暴雪和网易间的现行许可协议仍将... -
最新:csgo免费开箱网站哪个好 2023最...
,csgo开箱网站目前有很多,但其中很多网站不是很靠谱,很多玩家不... -
《卧龙 苍天陨落》公布新截图 女性...
《卧龙:苍天陨落》公布大量全新游戏截图,首位女性角色“红晶”登... -
【当前热闻】江湖十一烈日狂刀诀武功怎...
《江湖十一》中的烈日狂刀诀是游戏里很好用的绝世级别的刀法武功,... -
今日报丨悬疑解谜游戏《隐秘的角落》正...
《隐秘的角落》现已正式在Steam平台发售,国区定价56元,首发-15%优... -
【天天热闻】《魔界战记7》发布スイセン...
今日(1月18日),日本一官方公布《魔界战记7》スイセン(CV:河瀬... -
天天速看:csgo开箱网站茄子推荐有哪些...
,很多喜欢玩csgo的小伙伴都知道开箱是一个非常随机的玩法,你可能... -
要闻速递:CSGO有哪些好用的开箱网站 ...
,很多喜欢玩csgo的小伙伴都知道开箱是一个非常随机的玩法,你可能... -
地雷社公开新作《多卡邦王国 连接》 ...
发行商CompileHeart(地雷社)和开发商Sting宣布了Switch派对游戏《...