问题标签 [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.
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!
struct - 将结构数组写入二进制文件
我不明白程序中有什么错误。我正在定义一个指向结构数组的指针。Malloc 为它提供了足够的内存。初始化数组元素。然后使用 fwrite 将数组写入二进制文件。然后尝试读取相同的内容,回到另一个指向类似数组的指针,该数组有足够的内存分配给它。
输出:
4,a,5.234234,A,15.234234
分段错误
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);
}
如何正确完成?
c - 相同类型结构的指针内的结构
我正在实现一个代码,它有一条道路,两个城市在它的边缘,我将从一个文件中读取它们并将它们链接起来。结构就像
这样,我将拥有一个 ROADS 数组来存储我读过的道路。
这样的代码和分配的缺点是什么,我正在考虑为一个国家制作地图。所有城市都应该有一个指向它的邻居的指针,这样当有人问他们之间的距离是多少时,我的程序应该能够回答它。
说到邻居部分;
这部分和最后一部分是我感到困惑的部分,我唯一的链接参考是城市的名称;
我打算如果 ROADS[i] 的 city_name 中的道路与 ROADS[j] 的 city_name 相同(如 LosAngeles 示例),我将尝试通过邻居结构将它们连接起来,以便“NewYork 250km LosAngeles ” 道路有一个邻居,即“洛杉矶 120 公里佛罗里达”,反之亦然。如果从文件中读取“LosAngeles 500km Nebraska”之类的内容,那么我首先提到的两条道路也将有两个邻居和两个链接。ROADS 阵列现在存储 3 个道路结构。当然,当我制作道路结构时,我正在为 ROADS 数组分配内存。每次道路来;
我做错的地方在哪里?任何提示对于我进一步开发此代码都是完美的,甚至说“我应该搜索的概念”以便做我的想法会很棒。
c - 如何获取双指针指向的二维数组的大小?
我试图从指向数组的双指针中获取二维数组的行数和列数。
上面的函数需要打印尺寸的详细信息,哪里出错了。
我正在使用 malloc 创建数组。
如果我使用这样的东西怎么办
列 = sizeof(a)/sizeof(int) ?
c++ - 如何使用指针用随机数填充二维数组
当我执行这段代码时,我没有得到一个完全随机数的矩阵,而是得到了许多重复的数字。知道如何使用rainGen 生成真正随机的二维矩阵吗?您能提供的任何帮助将不胜感激!
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]
?
c++ - C ++将指针传递给函数
好的,我有一个功能
我的问题是如何传递指针,使传递的指针指向同一个数组列表。我可以通过 gamewindow 函数中的 wordl[i] 访问它。
从下面的评论中,实现word()
:
c++ - 正确处理指向指针的指针
我有一个指针数组
我像这样清除了多数组,然后我以这种方式在其中输入了一些值(并用 cout 确认值是正确的-
我在那里有非常复杂的值,例如 10663.3、11140.6 等,它们需要处于正确的位置,所以我认为我不会在那里得到误报
最后我试图将数据写入 NetCDF 文件
该方法看起来像这样
取自这个例子:http ://www.unidata.ucar.edu/software/netcdf/examples/programs/simple_xy_wr.cpp
我是这样做的
但是,当我开始从文件中读取时,我得到了胡言乱语。我的猜测是我以错误的方式将数组提供给该方法。但是我无法找出正确的方法。
我也很感激指针指针的好教程。我一直找不到
c - 使用和取消引用 (void**)
我想将一个“多态”指针数组传递给一个函数。
我可以在没有警告的情况下执行以下操作:
gcc 显然会自动转换x
为 a (void*)
,这只是花花公子。
但是,当我执行以下操作时会收到警告:
我的问题是:为什么将 an(int*)
作为(void*)
参数传递不是“不兼容的”,而是(int**)
作为(void**)
参数传递?
由于所有指针类型的大小都相同(对吗?自从我使用 C 以来已经有一段时间了),我仍然可以执行以下操作:
所有 void 指针的目的是让我可以使用函数指针应用于将(在堆栈中)具有不同类型的 ptr 参数的函数:一些将采用int
数组,一些将采用double
数组等。