gpt4 book ai didi

c - 这个指针代码在 64 位计算机上是否合法

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:55 25 4
gpt4 key购买 nike

我打算跨两个指针使用内存。我们称它们为 pointer1 和 pointer2。每个指针将连接到它自己的内存份额,分别由 block1 和 block2 定义。

我认为这种方式适用于所有系统(32 位和 64 位):

char block1[100000];
char *pointer1=block1;
char block2[100000];
char *pointer2=block2;

不过我认为使用这段代码是更快的方法:

char block[200000];
char *pointer1=block;
char *pointer2=block+100000;

我的问题是最后一个代码片段的最后一行是否与 64 位架构兼容?

最佳答案

32 位架构的地址空间是 2**32 = 4294967296。对于 64 位架构是 18446744073709551616。我想你会没事的。编译器应该自己处理它。对于您的用例,它只是仍在地址空间中的简单指针算法。

关于c - 这个指针代码在 64 位计算机上是否合法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31947159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com