问题标签 [pointer-to-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 投票
1 回答
45 浏览

c - 使用双指针返回指针的值

代码:

如何返回第一个ptr或的地址的值ptr + 0?我尝试了所有方法,每次输入超过 1 时它似乎都会崩溃。

0 投票
1 回答
217 浏览

c++ - 初始化和导航一个字符**

好的,请考虑以下代码:

据我所知,这会创建一个指向 2 个字符指针数组的指针。然后第二行将这 2 个字符指针中的第一个设置为 5 个字符数组中的第一项。如果我错了,请纠正我。

如果我没记错的话:

  1. 我将如何初始化所有这些字符?
  2. 我将如何更改特定的字符?例如,将每个数组中的最后一个字符设置为 NULL。
0 投票
2 回答
3402 浏览

c++ - C++中使用双指针的动态二维数组

我有以下代码,我确保我按照指针对指针动态二维数组中的说明做了所有事情

我需要我的二维矩阵是动态的,即用户需要输入尺寸。但是在接受用户输入时,我的 cin 出现错误。以下代码有什么问题?

0 投票
1 回答
291 浏览

c - 传递的双指针在循环期间被破坏?

上面几乎是所有涉及到这个押韵的代码。当我将双指针传递给我的函数时,我只需要读取它,所以我没有将指针传递给它。我可以读取押韵中的任何值,但是当我尝试将其通过循环时,数据会以某种方式损坏。这是我得到的输出:

我不确定我在这里做错了什么。我试图将双指针作为三元组传递并以相同的结果尊重它。

0 投票
5 回答
960 浏览

c - 将多维数组传递给C中的函数

我有这样的功能:

在其他函数中,我有一个像这样的二维数组:

但是编译器向我抛出了这个错误:

将这个数组(seqs)传递给函数(myfunc)的正确方法是什么?

0 投票
3 回答
10598 浏览

c - 双指针如何用于二维矩阵?

我正在通过实施康威的生命游戏来尝试 C 语言。

我正在尝试动态构建两个网格(int矩阵),一个用于当前网格,一个用于下一代网格,因此在确定下一代网格后,我只需交换指针即可。

起初我绝望地尝试定义指向网格的指针,如int * grid,你不能用第二组括号作为下标,[][]因为 - 显然 - 第一组括号返回一个 int。

我也尝试过类似的int * grid[HEIGHT][WIDTH]方法,但这会给将这样的一个指针分配给另一个指针时出现问题。(事实上​​,我不知道这在记忆中到底做了什么!)

在我天真的希望中,我认为在偶然发现双指针之后可以进行以下操作。程序编译,但在指示的行上运行时失败。(在 Windows 中,除了问题事件名称为 之外,我没有得到更多详细信息APPCRASH)。

免责声明:这不是实际的程序,只是问题的概念证明。

0 投票
1 回答
105 浏览

c - 在 C 中传递和分配指针

我在使用指针时如何分配信息时遇到了麻烦。

我无法在readName函数中分配任何值。你能检查一下我是否正确地分配了结构吗?或者是否有另一种方法可以在不改变打击和功能参数的情况下做到这一点?

0 投票
1 回答
3961 浏览

c - C中的双指针和三指针

我有一个如下所示的小程序。该程序试图更好地理解“C”中的指针如何在内存中排列变量。

我在我的电脑(Ubuntu 12.04)x86_64 上得到的输出如下

输出看起来不错,因为

  • cp 包含 c 的地址
  • cpp 包含 cp 的地址
  • cppp 包含 cpp 的地址

现在我对上述程序的二进制可执行文件执行 nm。

下面我重述了相关的兴趣线。

据我所知,解释如下。

“c”是数据段的一部分(用“D”表示),位于地址 0000000000601020 根据我的程序是“cp”的地址。所有变量都是这种情况。

我在这里遗漏了一些重要的东西吗?这是初学者试图很好地理解 C 指针。

0 投票
1 回答
166 浏览

c - int ** 数组改变值

所以我有一个int **. 它包含像素值。我想要做的是改变一组像素值的值;假设值为 90,我想将其更改为它必须创建 x 像素量的黑色边缘的最大级别。过去一个小时我一直在搞乱它,似乎无法弄清楚如何更改 ** 中的实际值

这是我到目前为止所拥有的:

这是主函数调用: pgmDrawCircle(pixel, rows, cols, circleCenterRow, circleCenterCol, radius, header);

我认为我的想法是正确的,但就像我上面提到的那样,我似乎无法弄清楚如何让价值发生变化。

我不认为我这样做,但我需要分配内存吗?它是从主系统传入的,所以我认为我不需要,因为它已经满了......对吗?

根据要求,这里是 pgmRead:

在主函数中:

0 投票
2 回答
75 浏览

c - 当我尝试运行它时,程序崩溃了,我不知道为什么

我想在我的函数中返回n- 矩阵的大小 - 以及矩阵本身*p

该文件类似于,例如,

3
10
20
30

这就是我所说的: