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

c++ - 将值分配给while循环内的指针(使用)

假设我在文件夹 c:/ 中有 3 个扩展名为“.exe”的文件。我想创建 3 个 char* 类型的指针,每个指针都包含 .exe 文件的文件名。所以,我们有 3 个指针 - 3 个文件名。但真正让我感到困惑的是输出(见下文)。

我的实现:

我的输出:

为什么我在 while 循环内时有预期的赋值(至少是预期的),但是当我检查循环外指针的相同值时 - 它只是空的?谢谢!

0 投票
3 回答
3991 浏览

c++ - 如何在 C++ 中将 uint64_t 转换为 const char *?

我有一种方法可以接受const char *,如下所示 -

现在下面是我的 for 循环,我需要get_data通过传递来调用方法const char *。目前下面 for 循环使用uint64_t. 我需要将其转换uint64_tconst char *然后传递给get_data方法。

这里TmpIdSettypedef std::set<uint64_t> TmpIdSet;

所以我的问题是我应该如何将uint64_t上面的代码转换为const char *

0 投票
3 回答
2008 浏览

c - C语言中指向字符的指针指向什么?

我正在尝试学习 C 中的指针,并且已经了解了这些概念。我遇到了这个实验室问题,并试图为它写一个解决方案。

但是,当我编译程序时,我有两大类错误 -

  1. 我的 printf 语句的格式占位符似乎全错了。我的印象是内存地址可以用 %x 或 %p 打印。但是在我的程序中,两者都生成了编译器警告。我不明白——为什么在我以前的一些程序中,%p 没有任何警告就可以工作,为什么 %x 和 %p 在这里都不起作用。有人可以帮助我了解哪些占位符适用于哪些数据类型吗?

  2. 另一个主要问题是分配一个指向字符变量的指针。当我运行这个程序时,我在程序的第三个 printf 语句中遇到了分段错误。我不知道为什么会这样-

如果我是正确的,这样的声明——

char *ptr=array

将字符指针变量设置ptr为指向数组变量的第一个元素array。因此,理想情况下,*ptr将指示'H'*(ptr+1)将指示'e'等等。

遵循相同的逻辑,如果我有一个var3带有 char的字符变量'A',那么我应该如何使指针变量ptr3指向它?

这是我写的程序-

任何帮助将不胜感激。谢谢你。

0 投票
2 回答
909 浏览

c - 动态 C - 字符指针、strcpy、strcat

这是我的代码:

它应该采用两个字符串,将它们连接在一起,然后将新字符串及其长度传递给不同的函数。我使用的是 Dynamic C 9.62,它不支持该malloc功能,所以我使用 memset 代替。

问题是当我 printf 的值log之前它被传递给它时sendUDPLogPacket,它包含垃圾DynamiCUniversal Rabbit BIOS Version 9.50\?^>j。任何人都知道为什么这不起作用?

0 投票
3 回答
89 浏览

c - 使用字符指针的问题

我在这里的这段代码有问题。我的代码应该做的是将位域分配给工作日。例如,星期一为 0x00,星期二为 0x01,依此类推。这是我的代码:

在这一点上,我的代码在我运行它时(如果我至少可以编译它)应该做的是显示:

是星期一

不幸的是,它要么无法编译,要么当我使用它显示的指针进行更改时,例如“It's -88”。我认为问题在于指向 char wday 的 char 指针。但我不知道如何让我的代码工作。

非常感谢您帮助 C-Rookie。

0 投票
2 回答
14958 浏览

c++ - 将 char 指针/数组传递给函数

我试图更多地理解 C 中的 char 指针,但有一件事让我明白了。

假设我想将 char 指针传递给函数并更改指针表示的值。一个例子如下:

在上面的例子中,我列出了所有我知道的将 char 指针传递给函数的工作方法。我不明白的是Method 1

char *(&Msg1)传递给函数的第一个参数是什么意思Foo

此外,似乎方法 2和方法 3 被书籍和教程广泛介绍,其中一些甚至将这些方法称为传递数组/指针的最正确方法。我想知道方法 1对我来说看起来很不错,尤其是当我编写我的 API 时,用户可以轻松地将空指针传递给函数,而无需预先分配内存。如果用户忘记释放内存块,唯一的缺点可能是潜在的内存泄漏(与方法 3相同)。有什么理由我们应该更喜欢使用Method 2 或 3而不是Method 3

0 投票
2 回答
136 浏览

c - 带有结构指针的相等函数

我有一个图表,图表的一个参数是一个相等函数。

这是我写的代码:

该函数应该接受结构指针并检查这些指针是否指向具有指向相同字符串的字符指针的结构。

可能难以理解或信息量少,但任何人都可以想到我怎么可能写出equalFunction?谢谢。

0 投票
1 回答
775 浏览

segmentation-fault - Valgrind:大小为1的无效写入

我正在尝试在堆上创建一块内存并使用 memcpy 将一些数据复制到其中,但 memcpy 给出了分段错误。我觉得我已经分配了足够的内存,但似乎有一个无效的写入。我无法解释为什么会发生这种情况。创建和 memcpy 发生的代码在下面我将缓冲区大小分配为 (response_length+sizeof(USHORT)) 因为我正在复制响应的前两个字节中的长度。

插入函数定义:

Valgrind 报告如下:

GDB 回溯:

任何提示都会有所帮助。谢谢!!

0 投票
2 回答
1302 浏览

char-pointer - 将字符串存储在 char 数组赋值中从指针生成整数而不进行强制转换

我最近在学习指针。上面的代码给了我一个错误 - 赋值从没有强制转换的指针中生成整数[默认启用]。我在 SO 上阅读了一些关于此错误的帖子,但无法修复我的代码。我将 c 声明为任何 8 个字符的数组,c 具有第一个元素的地址。因此,如果我执行 *c = "hello",它将在一个字节中存储一个字符,并根据需要为 "hello" 中的其他字符使用尽可能多的后续字节。请有人帮我确定问题并帮助我解决它。标记

0 投票
2 回答
430 浏览

c - C 双指针 Char 正在打印 NULL。不知道怎么回事?

这是显示读取的字符串的显示函数。