pointers 相关问题

“指向”存储在内存中的另一个值的数据类型。指针变量包含某个其他实体(变量或函数或其他实体)的内存地址。此标记应用于涉及指针使用的问题,而不是引用。使用指针的最常见编程语言是C,C ++,Go和汇编语言。使用特定语言标记。其他有用的标签是描述指针使用的方法,函数,结构等。

如何在链接的循环列表中链接不同但相似的结构?

我正在尝试实现 Knuth 的算法 X,但我在生成链表时遇到了问题。我的列标题和数据点是不同的类型,但构建相似。 输入 ListObject 整数...

回答 1 投票 0

在 c 中使用 printf 在结构中打印字符指针数组

我正在尝试用 for 打印我的数组的名称,但输出给了我随机字母和符号, 我不能正确地转换它来打印结构的名称。 类型定义结构{ // uint8_t 名称;...

回答 1 投票 0

如何将字符串复制到字符数组指针中?

我是 C 的新手,继承了一些遗留代码,我试图理解并对其进行一些改进。我需要将元素添加到 char 数组指针,但我无法找出正确的语法....

回答 3 投票 0

如何在不接收非静态指针作为参数的情况下释放它

我不确定如何表达我的问题,但基本上我想要的是使用一个指针,在这种情况下是行,对其进行 malloc 并放入数据,然后返回它。问题是,当我调用函数时

回答 0 投票 0

Exception _debugbreak() 执行 main() 函数后

这段代码完全正确执行,但是在退出main()函数时,抛出异常: 程序中执行了断点指令(__debugbreak() 语句或类似调用)...

回答 0 投票 0

有什么办法可以短时间理解指针? [关闭]

我是一名计算机科学专业的学生,我们现在正在处理c上的指针,但是它是c编程语言中最复杂的概念之一,大多数初学者都很难理解......

回答 0 投票 0

这是写数组指针的过程

这是写数组指针的过程。 int *pj = *pi;, *pi是数组的值,为什么没有报错呢? (假设pi包含第二行的地址值,我觉得*pi...

回答 2 投票 0

我正在尝试将节点指针存储在向量中,但出现释放后堆使用错误

我正在解决一个反转单链表的 Leetcode 问题。 问题在这里 https://leetcode.com/problems/reverse-linked-list/description/ 这是我的代码。 /** * single-l 的定义...

回答 0 投票 0

数组成员搞乱了结构中的另一个值[关闭]

typedef结构_foo { 诠释 [20]; 诠释乙; 诠释 c; 富; 例如: 保留 5 的所有字段,然后我开始在 s...

回答 0 投票 0

如何在选择选项 5 后阻止程序自行终止

我正在做一个在链表的特定位置插入节点的功能。 除了选项 5) 在特定位置插入和 9) 显示之外,一切都运行良好。 如果我选择 5),...

回答 1 投票 0

Auto cast void pointer to pointer to double in function call

我有一个问题,它可能已经在其他地方得到了回答,但我找不到它,所以如果它已经存在,我深表歉意。 我有以下代码: #包括 void foo(双 *

回答 4 投票 0

当ptr是一个指针数组时,为什么ptr和*ptr显示相同的值?

我理解ptr是指向ptr[0]地址的指针。 因此,我认为 *ptr 将代表 ptr[0] 的值。 但是为什么两者显示出相同的值呢? 这是代码。 #包括 我理解ptr是指向ptr[0]地址的指针。 因此,我认为*ptr会代表ptr[0]的值。 但为什么两者显示相同的值? 这是代码。 #include <iostream> using namespace std; int main(void) { int M[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int (*ptr)[3]; int *p; int **pt; ptr = M; cout << ptr << " " << *ptr; return 0; } 我期待对此有一个明确的答案。 此外,我想知道如何打印出 ptr[0]。 当ptr是一个指针数组时,为什么*ptr和ptr显示相同的值? 你的解释是错误的ptr是错误的。特别是 ptr 不是指针数组,而是指向 int[3]. 类型数组的指针 这意味着 ptr 的类型是 int (*)[3] 这反过来意味着 *ptr 的类型是 int[3]。现在由于称为 array to pointer decay 的属性,此结果数组衰减为 int*(表示指向其第一个元素的指针)并为您提供观察到的输出。 更重要的是,请注意ptr指向第一个内部数组{1,2,3},它与*ptr具有相同的值。也就是说,ptr和*ptr的类型不同,但它们的值对于给定数组是相同的。 我想知道如何打印出来ptr[0]. 从上面的讨论我们可以看出,*ptr和ptr[0]是一样的,所以你已经得到了你想要的值。

回答 1 投票 0

为什么函数可以接收一个字符数组作为字符指针,为什么函数可以改变元素的值?

我将 char 指针声明为函数的参数,并将 char 数组作为参数。 有人告诉我 char 指针和 char 数组是不同的类型。 但是函数可以有一个 char 数组作为...

回答 1 投票 0

我有一些关于动态分配双数组的问题(在图像处理中)

1。双指针 (malloc) 发生错误:损坏的大小与 prev_size 但是当我在 fclose(f) 之后移动双指针 malloc 部分时,它起作用了。我不知道为什么。 2. 动态分配的双数组

回答 0 投票 0

我为什么要调用一个没有明显功能的指针

在 Keil uVision 的 STM32 开发板示例中,我发现了以下函数: __NO_RETURN static void thrLED(void *argument) { ... (空)论证; ... } 什么意思...

回答 1 投票 0

C程序中字符串指针操作导致的段错误

以下程序抛出分段错误。 #include 内部主要(){ char *p = "exs"; 字符 x; x = (*p)++; printf("%c “,X); 返回(0); }

回答 0 投票 0

为什么这个程序的整数大小是8?

//数组指针 #include 主函数() { int arr[] = { 3, 5, 6, 7, 9 }; int *p = arr; int (*ptr)[5] = &arr; printf("p = %p, ptr = %p ", p, 指针);

回答 2 投票 0

为什么在使用 `out` 指向指针时出现错误?

我只是想交换指针中的地址。你知道只是尝试。 所以我得到了我可怜的代码: 不安全类测试 { 静态无效主要() { 整数 = 1;整数 b = 2; 整数* x = &a...

回答 2 投票 0

如果在类的上下文中使用它,是否有一种方法可以在不提及类名的情况下获取指向成员的指针

下面的代码给出了以下编译错误: main.cpp:5:48: 错误:无效使用非静态数据成员“id” static constexpr int 类型::* mem_ptr_id = &id; ...

回答 1 投票 0

为什么字符指针打印整个字符数组而整数指针没有? [重复]

我正在学习 cpp 中的指针并编写了这段代码,但是当我运行这段代码时,结果与我预期的不同,但为什么? #包括 使用命名空间标准; 内部主要...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.