问题标签 [pointer-arithmetic]
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 - 可视化 printf 中的指针指示的内容
我遇到过这样的功能,对于我反转特殊类型单词的任务非常有用。我在 while 循环中遇到了复杂的指针算法问题。如何显示留在后面的数组索引号,例如。word
,dPtr
或subword
(在当前迭代中)与 printf ?
我只实现了减法值(subword-word)和(dPtr-dest)。
有没有办法创建一个“零”的“foo”指针,以便减法仅给出检查值?
这是代码:
提前致谢!
c++ - 指向数组困境的指针
我有一个关于数组和指向数组的指针的相当简单的问题。考虑这个代码片段..
现在如果:
为什么这段代码不正确:
或者
这一直让我发疯......所以请任何解释都将不胜感激。也请不要说这不是一个家庭作业问题,只是我试图掌握的问题。
pointers - 内存泄漏在哪里?
所以我正在学习指针并且很难在这里识别内存泄漏。我承认我以前从未使用过 malloc() 并且是指针算术的新手。提前致谢。
c - 如何应用结构偏移?
我有一个结构
我需要为整个结构及其数组的内容分配足够的内存。因此,假设每个数组的长度为 5 ...
我现在必须将 array1 和 array2 指向分配的缓冲区中的正确位置:
它是否正确?
编辑#1
只是为了消除任何混乱:我试图将内存保持在一个块中,而不是三个。
编辑#2
我不能使用 C99,因为 MSVC 2010 编译器不支持它 (http://stackoverflow.com/questions/6688895/does-microsoft-visual-studio-2010-supports-c99)。
c - 何时将类型应用于指针算术逻辑?
如果我有一些整数数组,我们就说:
地址出现在哪个位置0xbfdf53a8
;我想用循环打印出这个值,我可以做这样的事情:
这个循环是有效的,因为我们每次都增加一个“int”(在典型的 32 位机器上,地址每次迭代增加 4 个字节)。
我的问题是,什么时候应用类型指定的字节偏移量?那是编译过程的一部分(意味着它在某处的程序集中),还是在操作系统级别完成?
我会假设这是如何以标准化方式处理的,但我还没有找到答案。
c - 转换和添加指向不同大小类型的指针
假设我有以下代码片段:
然后 a = 1, b = 2, c = 10。(这里我也不确定,因为我使用 printf() 和 %i 并且收到了关于此的警告。)
我不太确定这是如何工作的。我有一些理论,但我更喜欢阅读一些关于它的文档。
有人可以给我一个关键字来搜索或向我解释这三种情况下的确切行为吗?由于缺少要搜索的单词,我无法在 SO 或 google 上找到有关此问题的信息。
我输入时输出会改变吗
反而?
c++ - for循环中的指针运算
我试图理解一些以我不习惯的方式使用指针算术的代码。在代码中的某一时刻,我遇到了这个:
如果 P 是一个矩阵,这在我看来就像添加 P 的对角线元素的对数。但事实证明,上面的最后一行不等于
我一直在寻找关于这里发生了什么的解释,但我找不到。此外,有问题的代码最终显然给出了正确的结果(它是蒙特卡洛的一部分)。有任何想法吗?
c - GCC 中的 void 指针算法是如何发生的
在这个程序中,p+1
只是将 p 的值增加 1。我知道void pointer arithmetic
在 中是不可能的C
,所以GCC
隐式地这样做。如果是,那么它是否将其视为char pointer
. 此外,如果 void 指针隐式进行指针运算,为什么dereferencing
它不可能。
c++ - 指针算法和可移植性
我正在编写一个应用程序,我不得不做一些指针算术。然而,这个应用程序将在不同的架构上运行!我不确定这是否会有问题,但在阅读了这篇文章后,我认为我必须改变它。
这是我不太喜欢的原始代码:
很糟糕是不是!向指针添加int
值!u_char
但后来我改成这样:
我想现在,编译器能说多少就跳转了!对?对数组的操作是否[]
被视为指针算术?它是否解决了便携性问题?
c - 用于理解指针算法的 OpenCV 视觉对象
我只是在学习 OpenCV。我正在阅读的书建议,对于需要触摸每个像素的操作,我使用带有指针算术、stepWidth 等的双 for 循环从一个到下一个。
我很难准确地想象 IplImage 在内存中的样子,是 RGBRGB 还是 RRRGGGBBB,这些都是数字吗,如果有 8 位图像……等等,它们是否会打包成更大的 32 位?
有谁知道视觉或可以解释分配 OpenCV 图像的基本方式以及哪些数据类型去哪里?我意识到它取决于像素还是平面等,但是如果能直观地看到一些用字节数拼写出来的示例,以便能够更好地理解如何迭代,那就太酷了
谢谢!