问题标签 [double-pointer]

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.

0 投票
3 回答
22257 浏览

c - Char ** 用法和打印

在 C 中,我使用 achar **来保存一系列字符串。

这是我的代码:

我不知道如何填写c数据。什么是正确的方法?我无法更改 3 条打印线,因为它们在外部函数中。

0 投票
3 回答
164 浏览

c - 将双指针传递给函数时会发生什么

我在理解 c 中如何使用指针传递值机制时遇到了一些麻烦。这是我人为的例子......


在我的main函数中,我malloc指向一个数组的指针int

我知道这个操作设置了一个由 10 块内存组成的块,每个块都足够大以保存指向指针的int指针。我在这 10 个块的开始处收到指针。

我有另一个函数将该双指针作为参数:


每当我按原样离开评论部分时,并尝试像这样进入malloc空间:intmain

每当我checkMetest2dArray调用main.

但是,如果我改为inmalloc的空间(通过取消注释上面的注释行)并将我的调用更改为:inttest2dArraymain

内存崩溃消失了,我可以checkMe在函数调用后很好地引用。


我知道这checkMetest2dArray按价值传递的。我认为这意味着返回的地址checkMe = malloc(sizeof(int *) * 10);被复制到函数中。

我不明白为什么如果我没有内部空间int *,商店会丢失checkMemalloctest2dArray

0 投票
1 回答
128 浏览

c++ - 了解指针的使用

嗨,我遇到了一个代码,我很难理解它为什么工作,如果有人能解释我,我将不胜感激 这是代码 这实际上是真实代码的一个非常简化的版本,可以在这里找到http ://acts.nersc.gov/hypre/example10/ex10.cxx.html

简而言之,这里我们初始化并填充 elemStiff 数组的值,该数组有 10 行,每行是一个 4x4 矩阵。

对我来说非常奇怪的是代码在 double **A = elemStiff[i]; 的帮助下填写了 elemStiff 数组的条目。

当我第一次看到我虽然它会给出一个错误但它有效!在 A 上传递的值,它们同时在 elemStiff 数组上传递,但我不明白它为什么起作用

谢谢

0 投票
1 回答
1075 浏览

objective-c - 在objective-c中使用二维数组语法的双指针元素访问

我是objective-c的新手,并且正在做一些暂时有效的事情,但我担心有一天会坏掉。

在我的一个对象中,我将一个整数矩阵声明为实例变量。由于我还不知道矩阵的大小,所以我这样声明:

稍后在代码中,当我知道矩阵的行数和列数时,我将其初始化如下:

假设我的分配是正确的(如果它实际上是错误的,请随时告诉我),我可以自信地使用二维数组语法访问元素吗?

我之所以问,是因为根据我的阅读,当您创建一个实际的二维数组时,内存会连续保留,但使用双指针可能并非如此。所以我害怕打电话

实际上会指向内存中的一个随机位置(而不是我分配的位置)。

谢谢您的回答!

0 投票
1 回答
2113 浏览

ios - 如何用双指针声明 NSString 的变量

我想使用双指针,我试图这样声明。

但是,Xcode 向我显示了错误“指向非常量类型 'NSString *' 的指针没有明确的所有权”并且无法编译。

最后我想做这样的事。

请让我知道任何建议。

0 投票
2 回答
85 浏览

c - 指针对齐问题的原因是什么?

我的程序从文件中读取单词,并将它们作为多个单词存储在动态分配的数组中。

我的问题是当我打印数组时在 while 循环中,它似乎指向正确的单词。在代码通过 while 循环后,当我打印所有索引时,'ice' 是最后一个词,我试图找出原因。

输出:

0 投票
1 回答
1304 浏览

c++ - 使用 boost 创建指向 std::pair 的双指针(ptr 到 ptr)

我有以下代码,我想重写以使用智能指针:我正在努力寻找任何关于如何声明、分配内存和访问双指针的体面示例。谁能提供一个例子?我读过 shared_ptr 不是要走的路,因为它使用 delete 而不是 delete[],是否需要使用 shared_array?

编辑: corrArray 必须首先声明(它将是一个类成员)

0 投票
2 回答
1211 浏览

c - argv 函数和字符串作为 C 语言中的地址

问题。诸如“C Programming”之类的字符串如何编译为地址值如下?

我的类比如下......如果可以,请纠正我。

char * argv[] 如果在参数中,则相当于 char ** argv 。所以这个函数就像 void ShowAllString(int argc, char ** argv) 接收双指针作为参数。因此,将 str 作为参数是有意义的,因为 str 是数组 char * str[3] 的名称,而 str 是此处作为数组名称的双指针。char * str[3] 是一个应该包含三个指针元素的数组....但是这些字符串而不是地址值怎么会放在 char * str[3] 旁边...这就是我卡住的地方!

请帮我!

0 投票
1 回答
66 浏览

c++ - 双指针的另一种选择

我怎样才能发送一个指向函数的指针?我的意思是,我想更改指针在该函数中指向的位置。

我已经为此看到了双指针,例如:

但是,有人告诉我,这不是解决问题的最佳方法。怎么可能更好?这行得通吗?:

谢谢

0 投票
0 回答
863 浏览

c - 初始化结构的双指针

我试图在通用哈希表中动态分配指向通用链表的指针数组,其大小取决于用户输入。请让我给你看代码。

这是驱动程序,用户将输入他们希望哈希表的大小,这与哈希表中应该有多少链表直接相关。

这是结构。我定义了链表数组 ListPtr * table => linkedList ** table;

这是初始化链表的函数。

这是创建链表的函数

我在 Eclipse 的调试器中逐步完成了它,它编译和运行良好,但是当我在 CreateHashTable 函数期间单击 h 内的“表”变量时,一切看起来都很好,循环遍历并在每个索引处创建列表。但是当我去插入时,我得到了一个段错误。

它必须与我初始化 ListPointers 数组的方式有关,但我想不出更好的方法。

请帮忙?

谢谢