问题标签 [memory-address]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - this指针和成员函数地址
我正在尝试获取成员函数的地址,但我不知道如何。如果有人能告诉我我做错了什么,我将不胜感激。正如您在下面的示例中看到的那样, (long)&g 和 (long)&this->g 都不起作用,我无法找出正确的语法:
提前致谢!
感谢你的回复!但是我仍然无法正常工作。如果我换行
至
,还是不行。
在 main() 中工作,但不是
???
我想我错过了一些东西。:(
java - 数组的内存地址 - Java
有人知道获取数组索引的内存地址吗?(就像在 c 中一样)
memory - 查询 printf
当我们打印变量的地址时,会打印哪个地址?
如果是虚拟内存,那为什么会这样呢?
任何人都可以解释更多...
string - 在 ATmega168V 上存储一个字符串并用 ASM 语言操作它(第一次家庭作业)
我正在尝试将一个字符串存储在内存中,访问该字符串并将小写字母更改为大写,反之亦然。我不明白的是如何引用该地址的字符串地址和 ascii 值。我相信我可以弄清楚逻辑,只是在数据和地址操作方面存在问题。我如何区分两者?注意:这是一个家庭作业编码作业。
c++ - C++ - 使用“new”在堆上分配内存
如果我有以下陈述:
int *x = new int;
在这种情况下,我在堆上动态分配了内存。换句话说,我现在有了一个对象的reserved
内存地址int
。
在那之后说我做了以下事情:
delete x;
这意味着我freed up
在堆上的内存地址。
说之后我又做了以下事情:
int *x = new int;
会x
指向它在被删除之前指向堆的同一个旧内存地址吗?
如果我以前这样做会怎样delete
:
x = NULL;
然后这样做:
int *x = new int;
将x
指向堆上的内存地址而不是旧地址吗?
谢谢。
c - 无法理解读取系统调用的行为
所以这是我试图运行的代码:
这是我在终端得到的输出
问题 1:当我在读取调用中键入地址 2000 时,地址在read(STDIN_FILENO,(int*)2000,3);
哪里。我认为这是我试图访问的 RAM 的绝对地址。我是对的还是它偏移并被添加到堆栈段基地址。我不知道。该程序没有给我SEGFAULT
内存违规,而是给了我Bad address
问题 2:好的,所以当我输入 aslls
并且 bash 执行该“lls”的“ls”部分时,代码会崩溃。原因是代码在读取第一个“l”后崩溃,其余的“ls”部分由 bash 执行。但是为什么 bash 正在执行左侧的“ls”部分。为什么 bash 这样做是因为我的代码崩溃了,即使 bash 是它的父进程,它也不应该从我编写的代码打开的文件描述符 (STDIN_FILNO) 中读取。( 我认同)...
谢谢你的时间。
c++ - 为什么不显示char数据的地址?
输出是:
为什么?
另一个有趣的事情:如果 int, char, string 是公开的,那么输出是
something_2 - something
总是等于 8。为什么?(不是 9 个)
c - C标准寻址简化不一致
第 §6.5.3.2 节“地址和间接运算符”¶3 说(仅相关部分):
一元 & 运算符返回其操作数的地址。...如果操作数是一元运算符的结果,则该运算
*
符和该&
运算符都不会被计算,并且结果就像两者都被省略了,除了对运算符的约束仍然适用并且结果不是左值。类似地,如果操作数是[]
运算符的结果,则不会计算&
运算符和*
隐含的一元,[]
结果就像&
删除了运算符并将[]
运算符更改为+
运算符一样。...
这意味着:
应该是完全合法的,打印 0 和NUM
(10)。标准似乎很清楚,这两种情况都需要优化。
但是,它似乎不需要优化以下内容:
这似乎非常不一致。我看不出上面的代码不应该打印sizeof(int)
加号(不太可能)填充(可能是 4)。
简化&->
表达式在概念上(恕我直言)与&[]
简单的地址加偏移量相同。它甚至是一个可以在编译时确定的偏移量,而不是潜在的[]
操作员运行时。
为什么这看起来如此不一致,有什么理由吗?
c++ - 给定该类的对象数组,为类成员向量分配内存有问题吗?
我的基本程序结构是这样的:
因此,如果 N 为 5,则输出将为: 0xbffff828 0xbffff828 0xbffff828 0xbffff828 0xbffff828 \n
0xbffff828 0xbffff828 0xbffff828 0xbffff828 0xbffff828
换句话说,每个对象的向量在内存中占据相同的空间。程序输出也证明了这一点,因为通过不同对象访问向量中的数据会给出相同的值,即使它们应该不同。当然,另一个奇怪的事情是它为我提供了与对象相同的向量地址。
c - 如何通过 C 中的套接字发送和接收内存地址?
我想通过 C 中的套接字发送/接收内存地址。我拥有的是以下内容:
我知道打印指针地址的方法printf
是使用%p
,即
但这会打印例如 0x0021ef1a。我想要的只是以下内容:0021ef1a
而在接收方:如何将接收到的字节转换回 a void*
?
啊:代码应该适用于 32 位以及 64 位系统;)此外,代码应该使用 -Wall -Werror 编译....呵呵
感谢您的帮助!祝你周末愉快,乔纳斯