问题标签 [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.
c - strcmp 导致段错误
这是代码:
这是输出:
我还注意到 strcmp 的原型是: int strcmp(const char *s1,const char *s2);
我想 my_compare 中 a 和 b 的类型是“指向字符数组的指针”。因此,*(char **)a 是一个“指向 char 的指针”,这正是 strcmp 所期望的。
那么问题出在哪里?
c - 访问c中的指针数组
为什么我可以访问带有两个参数的指针数组,当它被定义为一维时?
我知道,我必须使用指针数组来访问函数中的多维数组,但我不知道为什么我可以使用两个参数访问指针数组。
c - 将数据动态添加到指向函数内结构的指针数组
我尝试了很多组合,但实际上没有任何效果。时间已经够长了,所以我决定写这个问题。
我只想要一个指向结构的指针数组,以便以后可以通过交换地址轻松对其进行排序。我有一个从文件中获取数据并写入数组的函数。不幸的是,我不可能在函数之外读取这些数据。
我最后一次尝试(我删除了文件操作,因为这些不是问题):
页眉.h:
来源.c:
我正在使用 Visual Studio Community 2015。我知道用 C 进行编码并没有那么多,但我设法配置了解决方案,而且它似乎不是 imo 的事情。
我将非常感谢您的帮助。然而,我想把它看作是我的代码的翻版。我尝试了一些其他类似 StackOverFlow 的问题的答案,但它们没有帮助。
arrays - **在C语言中是做什么的?
我是 C 新手,具有良好的 java 背景,我正在尝试理解指针和数组。
我知道下标operator[]
是数组定义的一部分,所以:
将创建一个整数数组,它在内存中表示为 16 个字节,4 个 4 个字节:
然而,当涉及到指针时,我的知识开始崩溃,所以如果我要创建一个指向数组编号的指针,我会执行以下操作:
看起来像这样:
我猜它的大小是 4 个字节?
但是,**
我读为“指向指针的指针”,这对我来说毫无意义,为什么有人想要指向指针的指针,当然如果 a->b->c 那么 a->c 就足够了?我知道我遗漏了一些东西,它必须与数组有关,argv
可以是类型char[ ]
或char **
如下所示:
所以:
- 这是什么(
**
)? - 它有什么用?
- 它在内存中是如何表示的?
c - 如何释放需要从函数返回的双指针?
例如,这是一个名为 的函数文件的代码,fnx.c
将从func()
主函数调用该文件。我应该如何释放TempArray
这里,同时将双指针返回到主函数?
c - 如何区分不同指针的含义?
指针对很多事情都很有用,以至于有时无法理解它们在特定代码行中的含义。
例如,有时您使用指针来表示一系列元素:
有时您使用指针在堆上分配单个对象或使一个元素指向另一个元素:
当两者都使用碰撞时,连续的指针变得不可读:
我考虑过使用typedef
or 宏来创建一个表示指针的类型,该指针用作引用或已被 malloc 编辑过的东西。
这可能是双刃剑,因为在某些情况下我会获得可读性,但它也会混淆代码。
您建议如何生成更易于理解指针含义的代码?
c - 当我们声明双指针(**q)时,究竟是什么 int/char
让我们拿 64 位机器
其中指针在 64 位机器中为 8 个字节
我尝试了这种代码和平,如果有任何问题,请纠正我
输出
int
//在双指针char
中的作用是什么?float
c++ - 带有指向指针的内存泄漏,C++
我正在尝试为我正在学习的一个类做一个 Phonehandler 系统,该任务指定我们使用指向 Phonehandler 类中 Phone 对象的指针的指针,并且存储 Phones 的数组的大小为两个电话从一开始,它就可以在以后扩展。我的相关(?)代码如下:
电话处理器.h
PhoneHandler.cpp(构造函数)
我的代码包括比这更多的东西,但我没有在任何其他地方写“新”,所以内存泄漏是在构造函数中分配的。我做了一个析构函数如下:
PhoneHandler.cpp(析构函数)
但它在析构函数的第一行崩溃了。所以我需要关于构造函数或析构函数的帮助,也许两者都有。如有必要,请随时向我索取更多代码,但我认为问题出在此代码中。谢谢
c++ - 如何使用指向指针的指针(int **)分配一维数组
有什么区别
和:
我必须同时使用两者来分配一维数组,有什么区别?
c - 带有嵌套指针的嵌套结构
我正在使用数据结构来实现拼写检查。我有两个结构,节点和表,定义如下:
这个程序在 print 函数的最后一行有 bug,因为 t->head 指向 NULL。
据我所知,当更改指针的内容值时,指针指向的变量会自动更改。
由于 t->head 和 ptr 都是指针,而 ptr 指向 t->head,也就是说,它们指向的是同一个对象。
那么当我改变ptr的值时,为什么t->head不会以同样的方式改变?我应该怎么做才能实现 t->head 随着 ptr 的变化而变化?