问题标签 [array-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 回答
71 浏览

c - 理解和操作指向整数数组的指针

我在使用以下代码时遇到问题:

输出:

我知道这&a是一个指向一维数组的指针。而&a的类型是int (*)[4]。我很困惑是怎么来的**(&a): 1

0 投票
2 回答
49 浏览

arrays - 是否可以通过引用第 n+1 个元素找到数组末尾的地址?

我需要知道指针何时穿过整个数组 -> 位于它后面的第一个位置。c中的示例代码:

此示例是否可以将数组的每个元素设置为 0xffffffff?

0 投票
1 回答
55 浏览

c - 数组指针的值在 fopen 后发生变化

我正在对图像进行卷积操作。我在动态存储在数组指针中的数据有问题。数组指针变量之一中的数据在fopen函数后自动更改。

我从被调用的函数中获取数组指针maxpool1,然后我将这个数组传递给conv2d2卷积函数。

以前的内容

改变的内容

卷积函数:

主功能:

MaxPool1函数:

0 投票
2 回答
111 浏览

arrays - 如果数组中的两个连续数字相等,如何缩小数组然后删除一个并增加另一个

如果数组中的两个连续数字相等,如何缩小数组然后删除一个并增加另一个

示例 1:

示例 2:

0 投票
1 回答
45 浏览

c - Seg Fault 在指针数组上调用 mergesort

我正在尝试使用 C 中的线程。我需要我的一个线程处理整个数组的一半,并对其一半进行归并排序。为此,我为整个数组和两半数组创建了一个全局数组指针。是在运行时分配的malloc

这是我的线程在(线程 2)上遇到问题时该函数的样子 目前,它所做的所有事情都占用了整个数组的前半部分,并且一个接一个地取值并将其放入自己的值中。然后我打印出数组。然后最后调用mergesort数组指针。

这是我的合并和合并排序函数:

出于某种原因,当我调用归并排序时,它会继续递归调用比数组中的偶数多得多的次数。我在 mergeSort 函数中的任何其他内容之前放置了一个 print 语句,并且 print 语句执行了 50000+ 次可能更多。但是,如果我在 mergeSort 内部的合并调用之前放置一个打印语句,它永远不会被执行。

0 投票
1 回答
63 浏览

c - 有没有办法使用指针表示法获取三维向量的大小?

我需要做这样的事情:

但不幸的是,在 c89(我必须使用的标准)中,这种表示法是被禁止的,有没有办法做同样的事情,但使用指针表示法?

这是我得到的错误

它在 c99 中可以正常工作,但在 c89 中不行

0 投票
1 回答
58 浏览

c - C中的冲突类型


我在不同的文件上有这个主要功能和另外 2 个功能

当我尝试运行代码时出现此错误

错误:'findMat' 的类型冲突 void findMat(mat *matArray[6],char *matNames[3],int *"

我看了一个小时的代码,我看不出有什么冲突的类型。

请帮助我了解这里出了什么问题

0 投票
2 回答
70 浏览

c - C 指针数组不适用于 memcpy

我想用 memcpy 连接两个字符串。但是下一个 memcpy 不起作用。我的预期输出是“我的名字是可汗”。

0 投票
1 回答
71 浏览

c - char* 数组的隐含衰减是什么?

作为一个新手,我正在解决 K&R 的指针章节中的一个问题,并且对字符指针的某些方面感到困惑,并将一个 char* 类型的数组作为函数参数传递。

我明白的字符数组衰减

前任:

所以这里传递的函数参数是&a[0]

所以这将是s = &a[0];

现在使用上述理解,我尝试对 char* 类型的数组执行相同的操作。具有相同的功能 tryMe(char*)

前任::

这是我收到警告的地方:

警告:从不兼容的指针类型 [-Wincompatible-pointer-types] 传递“tryMe”的参数 1

我不确定发生了什么,但我确实通过执行以下操作使其正常工作:

改变函数定义

tryMe(char*) 到 tryMe(char**)

这很好用。

另一个有效的解决方案是:

函数定义保持不变::

无效 tryMe(char*)

但是在传递函数参数时,它如下所示:

尽管上述这些更改按我的意愿工作,但我不知道它们为什么工作

我真的很感激任何关于这些的指导。

0 投票
2 回答
83 浏览

c++ - 如何阅读复杂的类型?

我知道使用 type alias 和 typedef 可以使代码更易读、更不容易出错并且易于修改。但是在这个例子中我想知道这个复杂的类型:

正如经验法则所说,我从内到外阅读它,但我觉得它太混乱了。

有人可以帮我怎么读吗?

GCC的输出: