32得票2回答
将一个“unsigned long”变量索引并打印结果

昨天,有人向我展示了这段代码:#include <stdio.h> int main(void) { unsigned long foo = 506097522914230528; for (int i = 0; i < sizeof(unsigned lo...

18得票2回答
void* vs. char* 指针算术

我正在翻阅我的教科书,对其中的一些代码感到有些困惑。在其中的一个部分,他们以以下方式进行指针运算: void* bp; ... bp = (void*)((char*)(bp)+16); ... 但后来,他们做了以下事情: void* bp; ... bp = bp+16; ... ...

14得票12回答
初始化字符指针

我有一个char指针,将用于存储字符串。它稍后在程序中使用。 我已经这样声明和初始化:char * p = NULL; 我只是想知道这是否是一种好的做法。我正在使用gcc 4.3.3。

10得票3回答
为字符赋值重载 operator[] - C++

虽然我有一些编程经验,但我对C++还是比较陌生。我已经建立了一个名为Text的类,并使用动态char*作为其主要成员。以下是类定义。#include <iostream> #include <cstring> using namespace std; class T...

8得票1回答
(char*) 0 是什么意思?

这个问题与以下问题有关: What does (char *)0 mean in c? 那里的答案略微偏离了解释答案具体含义的方向,但最终的答案提到它是指向地址为0的字符指针,并且它是空的。这让我产生了两个疑问。 在c语言中,我们能给char* 9并说它是一个指向地址9的指针吗?我们会得...

8得票1回答
JNI。如何从jobject获取jstring并将其转换为char*?

这是我目前的内容: 我将一个包含两个字段(字符串和整数)的对象作为参数传递, 并希望发送信息以便在 C 部分进行处理(此时不重要...) 但我在 jstring 声明处遇到了问题。 JNIEXPORT jint JNICALL Java_Tier3_NativeMethods_totalPa...

8得票5回答
如何知道一个char*库函数的参数需要一个它可以修改的数组,而不是一个char指针。

我刚接触C语言编程,知道char * 和 char[] 数组是不同的。但是当作为函数参数时,你可以将char[]推导为char *。所以函数声明可以相同。 但是如何通过函数签名(声明)来确定函数具体需要一个char数组还是char *呢? 例如,如果我正在使用库头文件并且函数如下所示。 我...

7得票2回答
如何安全地确保在任何平台上按照OpenGL规范正确实现char*类型?

在尝试使用C++和OpenGL3+进行图形编程时,我遇到了一个稍微专业的理解问题,涉及到char类型、指向它的指针以及潜在的隐式或显式转换为其他char指针类型。我认为我已经找到了解决方案,但我想请你确认一下我的想法。 当前(2014年10月)的OpenGL4.5核心剖面规范(第2.2章命令...

7得票1回答
如何在C++中将整个命令行参数集合(char **)作为只读传递?

假设我有一个像这样的程序: #include <iostream> #include <string> #include <vector> // Takes values and outputs a string vector. std::vector&...