问题标签 [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 投票
2 回答
946 浏览

c - strcmp 导致段错误

这是代码:

这是输出:

我还注意到 strcmp 的原型是: int strcmp(const char *s1,const char *s2);

我想 my_compare 中 a 和 b 的类型是“指向字符数组的指针”。因此,*(char **)a 是一个“指向 char 的指针”,这正是 strcmp 所期望的。

那么问题出在哪里?

0 投票
4 回答
1585 浏览

c - 访问c中的指针数组

为什么我可以访问带有两个参数的指针数组,当它被定义为一维时?

我知道,我必须使用指针数组来访问函数中的多维数组,但我不知道为什么我可以使用两个参数访问指针数组。

0 投票
3 回答
70 浏览

c - 将数据动态添加到指向函数内结构的指针数组

我尝试了很多组合,但实际上没有任何效果。时间已经够长了,所以我决定写这个问题。

我只想要一个指向结构的指针数组,以便以后可以通过交换地址轻松对其进行排序。我有一个从文件中获取数据并写入数组的函数。不幸的是,我不可能在函数之外读取这些数据。

我最后一次尝试(我删除了文件操作,因为这些不是问题):

页眉.h:

来源.c:

我正在使用 Visual Studio Community 2015。我知道用 C 进行编码并没有那么多,但我设法配置了解决方案,而且它似乎不是 imo 的事情。

我将非常感谢您的帮助。然而,我想把它看作是我的代码的翻版。我尝试了一些其他类似 StackOverFlow 的问题的答案,但它们没有帮助。

0 投票
14 回答
76261 浏览

arrays - **在C语言中是做什么的?

我是 C 新手,具有良好的 java 背景,我正在尝试理解指针和数组。

我知道下标operator[]是数组定义的一部分,所以:

将创建一个整数数组,它在内存中表示为 16 个字节,4 个 4 个字节:

然而,当涉及到指针时,我的知识开始崩溃,所以如果我要创建一个指向数组编号的指针,我会执行以下操作:

看起来像这样:

指向数字的指针

我猜它的大小是 4 个字节?

但是,**我读为“指向指针的指针”,这对我来说毫无意义,为什么有人想要指向指针的指针,当然如果 a->b->c 那么 a->c 就足够了?我知道我遗漏了一些东西,它必须与数组有关,argv可以是类型char[ ]char **如下所示:

所以:

  • 这是什么(**)?
  • 它有什么用?
  • 它在内存中是如何表示的?
0 投票
3 回答
1090 浏览

c - 如何释放需要从函数返回的双指针?

例如,这是一个名为 的函数文件的代码,fnx.c将从func()主函数调用该文件。我应该如何释放TempArray这里,同时将双指针返回到主函数?

0 投票
3 回答
82 浏览

c - 如何区分不同指针的含义?

指针对很多事情都很有用,以至于有时无法理解它们在特定代码行中的含义。
例如,有时您使用指针来表示一系列元素:

有时您使用指针在堆上分配单个对象或使一个元素指向另一个元素:

当两者都使用碰撞时,连续的指针变得不可读:

我考虑过使用typedefor 宏来创建一个表示指针的类型,该指针用作引用或已被 malloc 编辑过的东西。
这可能是双刃剑,因为在某些情况下我会获得可读性,但它也会混淆代码。
您建议如何生成更易于理解指针含义的代码?

0 投票
3 回答
397 浏览

c - 当我们声明双指针(**q)时,究竟是什么 int/char

让我们拿 64 位机器

其中指针在 64 位机器中为 8 个字节

我尝试了这种代码和平,如果有任何问题,请纠正我

输出

int//在双指针char中的作用是什么?float

0 投票
1 回答
50 浏览

c++ - 带有指向指针的内存泄漏,C++

我正在尝试为我正在学习的一个类做一个 Phonehandler 系统,该任务指定我们使用指向 Phonehandler 类中 Phone 对象的指针的指针,并且存储 Phones 的数组的大小为两个电话从一开始,它就可以在以后扩展。我的相关(?)代码如下:

电话处理器.h

PhoneHandler.cpp(构造函数)

我的代码包括比这更多的东西,但我没有在任何其他地方写“新”,所以内存泄漏是在构造函数中分配的。我做了一个析构函数如下:

PhoneHandler.cpp(析构函数)

但它在析构函数的第一行崩溃了。所以我需要关于构造函数或析构函数的帮助,也许两者都有。如有必要,请随时向我索取更多代码,但我认为问题出在此代码中。谢谢

0 投票
2 回答
322 浏览

c++ - 如何使用指向指针的指针(int **)分配一维数组

有什么区别

和:

我必须同时使用两者来分配一维数组,有什么区别?

0 投票
1 回答
880 浏览

c - 带有嵌套指针的嵌套结构

我正在使用数据结构来实现拼写检查。我有两个结构,节点和表,定义如下:

这个程序在 print 函数的最后一行有 bug,因为 t->head 指向 NULL。

据我所知,当更改指针的内容值时,指针指向的变量会自动更改。

由于 t->head 和 ptr 都是指针,而 ptr 指向 t->head,也就是说,它们指向的是同一个对象。

那么当我改变ptr的值时,为什么t->head不会以同样的方式改变?我应该怎么做才能实现 t->head 随着 ptr 的变化而变化?