问题标签 [pointer-to-array]

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 回答
1489 浏览

c++ - Why is the result of using `int (*p)[5]` so confusing?

I know that int (*p)[5] means a pointer which points to an array of 5 ints. So I code this program below:

On my machine the result is:

I can understand that *q means the address of a[0] and **q means the value of a[0], but why does q have the same value as a and *q? In my poor mind, it should be the address of them! I'm totally confused. Somebody please help me. Please!

0 投票
2 回答
2832 浏览

struct - 将结构数组写入二进制文件

我不明白程序中有什么错误。我正在定义一个指向结构数组的指针。Malloc 为它提供了足够的内存。初始化数组元素。然后使用 fwrite 将数组写入二进制文件。然后尝试读取相同的内容,回到另一个指向类似数组的指针,该数组有足够的内存分配给它。

输出:
4,a,5.234234,A,15.234234
分段错误

0 投票
3 回答
322 浏览

c++ - 如何在 c 中将多维数组作为指针传递

可能重复:
如何将多维数组传递给 C 和 C++ 中的函数

所以我有 charbuffer[4][50]

我需要将它传递给一个方法void SetBuffer(char **buffer),或者至少我认为它应该被格式化。

所以我SetBuffer(buffer);呢?在方法中我需要设置每个元素

void SetBuffer(char **buffer)
{
strncpy(buffer[0], "something", 50);
strncpy(buffer[1], "something else", 50);
}

如何正确完成?

0 投票
2 回答
203 浏览

c - 相同类型结构的指针内的结构

我正在实现一个代码,它有一条道路,两个城市在它的边缘,我将从一个文件中读取它们并将它们链接起来。结构就像

这样,我将拥有一个 ROADS 数组来存储我读过的道路。

这样的代码和分配的缺点是什么,我正在考虑为一个国家制作地图。所有城市都应该有一个指向它的邻居的指针,这样当有人问他们之间的距离是多少时,我的程序应该能够回答它。

说到邻居部分;

这部分和最后一部分是我感到困惑的部分,我唯一的链接参考是城市的名称;

我打算如果 ROADS[i] 的 city_name 中的道路与 ROADS[j] 的 city_name 相同(如 LosAngeles 示例),我将尝试通过邻居结构将它们连接起来,以便“NewYork 250km LosAngeles ” 道路有一个邻居,即“洛杉矶 120 公里佛罗里达”,反之亦然。如果从文件中读取“LosAngeles 500km Nebraska”之类的内容,那么我首先提到的两条道路也将有两个邻居和两个链接。ROADS 阵列现在存储 3 个道路结构。当然,当我制作道路结构时,我正在为 ROADS 数组分配内存。每次道路来;

我做错的地方在哪里?任何提示对于我进一步开发此代码都是完美的,甚至说“我应该搜索的概念”以便做我的想法会很棒。

0 投票
2 回答
12294 浏览

c - 如何获取双指针指向的二维数组的大小?

我试图从指向数组的双指针中获取二维数组的行数和列数。

上面的函数需要打印尺寸的详细信息,哪里出错了。

我正在使用 malloc 创建数组。


如果我使用这样的东西怎么办

列 = sizeof(a)/sizeof(int) ?

0 投票
4 回答
5348 浏览

c++ - 如何使用指针用随机数填充二维数组

当我执行这段代码时,我没有得到一个完全随机数的矩阵,而是得到了许多重复的数字。知道如何使用rainGen 生成真正随机的二维矩阵吗?您能提供的任何帮助将不胜感激!

0 投票
2 回答
534 浏览

c - 为什么我们可以同时使用函数指针作为 (*func_ptr)() 和 func_ptr() 来调用函数,而对于数组指针却不能?

假设我们有一个func_ptr类型为 的函数指针void (*func_ptr)()。那么我们知道使用 this 我们可以使用 this 指针调用函数:

但是再一次,假设我们有一个指向整数数组的指针int (*arr_ptr)[5],那么为什么我们不能将数组称为arr_ptr[],从而将其元素称为arr_ptr[0]等等arr_ptr[1]?为什么我们只能使用(*arr_ptr)[0]and (*arr_ptr)[1]

0 投票
2 回答
129 浏览

c++ - C ++将指针传递给函数

好的,我有一个功能

我的问题是如何传递指针,使传递的指针指向同一个数组列表。我可以通过 gamewindow 函数中的 wordl[i] 访问它。

从下面的评论中,实现word()

0 投票
1 回答
72 浏览

c++ - 正确处理指向指针的指针

我有一个指针数组

我像这样清除了多数组,然后我以这种方式在其中输入了一些值(并用 cout 确认值是正确的-

我在那里有非常复杂的值,例如 10663.3、11140.6 等,它们需要处于正确的位置,所以我认为我不会在那里得到误报

最后我试图将数据写入 NetCDF 文件

该方法看起来像这样

取自这个例子:http ://www.unidata.ucar.edu/software/netcdf/examples/programs/simple_xy_wr.cpp

我是这样做的

但是,当我开始从文件中读取时,我得到了胡言乱语。我的猜测是我以错误的方式将数组提供给该方法。但是我无法找出正确的方法。

我也很感激指针指针的好教程。我一直找不到

0 投票
3 回答
5168 浏览

c - 使用和取消引用 (void**)

我想将一个“多态”指针数组传递给一个函数。

我可以在没有警告的情况下执行以下操作:

gcc 显然会自动转换x为 a (void*),这只是花花公子。

但是,当我执行以下操作时会收到警告:

我的问题是:为什么将 an(int*)作为(void*)参数传递不是“不兼容的”,而是(int**)作为(void**)参数传递?

由于所有指针类型的大小都相同(对吗?自从我使用 C 以来已经有一段时间了),我仍然可以执行以下操作:

所有 void 指针的目的是让我可以使用函数指针应用于将(在堆栈中)具有不同类型的 ptr 参数的函数:一些将采用int数组,一些将采用double数组等。