“指向”存储在内存中的另一个值的数据类型。指针变量包含某个其他实体(变量或函数或其他实体)的内存地址。此标记应用于涉及指针使用的问题,而不是引用。使用指针的最常见编程语言是C,C ++,Go和汇编语言。使用特定语言标记。其他有用的标签是描述指针使用的方法,函数,结构等。
char *p="abc"; printf("%s", *(p+1)); //为什么会出现分段错误?
为什么下面的代码会出现分段错误? #包括 int main() { //这里写C代码 字符 *p="abc"; printf("%s %s ", p , p+1);// abc bc
带有数组指针的结构在 print_stack() 函数中打印“随机数”
我正在训练和研究C中使用的结构,但是当我尝试创建一个数据结构时,我遇到了一个问题,比如他正在打印随机数,我认为他正在打印...
我们如何创建一个矩阵并使用指针和双指针来使用它,为什么我看到一些开发人员甚至使用超过 2 个指针? 例如我想让一个数组包含多个arr...
在下面的程序中。这种类型转换是如何工作的,因为当格式说明符为 %d 时,它打印 1,但对于 %s ,它不打印任何内容?为什么会发生这种情况? #包括 整数
无法使用“dog *”类型的右值初始化“pet *”类型的变量
我正在为学校作业创建一个“宠物店系统”。我将在代码下方留下完整的说明,但摘要是: 我应该使用指针、标头等概念......
我已将结构体的引用传递给我的函数,并且需要访问其中一个成员并将其通过引用传递给另一个函数,但它不起作用。我对 C++ 很陌生,所以不太熟悉...
为什么删除可执行文件并在 VS Code 上重新运行后我的变量地址保持不变?
#包括 使用命名空间 std; int main() { 整数a=5; int *ptr = &a; 计算<< ptr; return 0; } On deleting this code's executable file on VS Code and
我正在开发解决C语言约瑟夫问题的程序。我在这里必须使用循环链表。目前我有这个代码来创建列表: void create_list(int N, 结构节点* head){ ...
我正在开发一个从文件“stockroom.txt”和“products.txt”获取信息的程序,然后它将文件中的数据存储在以下类型的结构中: // 数据
如何将数据缓冲区从 SDL_LoadWAV 复制到 SDL_AudioCVT?
此函数应加载 wav 并将其转换为所需的格式。 我的问题是我不知道如何正确地将数据复制到 cvt。 我从文档中收集到的是奥迪......
为什么pthread_join()的第二个参数是一个**,一个指向指针的指针?
我对使用 pthread 很陌生,而且对指向指针的指针也不太熟悉。有人可以解释为什么 pthread_join() 的第二个参数是 void ** 吗?为什么要这样设计呢。 ...
我需要画一行我想要的字符。所以我为此目的编写了一个函数: 无效fDrawLine(int长度) { 整数我; char * compLine = (char *) malloc(WINDOW_WIDTH + 2); 为...
所以,我有这个基于链表数据结构的哈希表数据结构: //哈希表 结构哈希表{ linkedList* 单元格; 整数容量; }; typedef struct hashTable hashTable; //我...
如何使用 PInvoke 将数组指针从 C# 传递到 C 库
我正在用 C# 编写一个软件,它需要从以 dll 形式提供的 C 库中调用函数。在这个库里面,有一个函数叫做 getData(uint16_t *缓冲区, const uint16_t
我目前正在开展一个项目,需要用 RX 系列的新微控制器替换现有的 M16C 系列微控制器。在 M16C 的旧代码中
我正在开发这个项目,该项目要求调用输入并在单独的显示函数中输出它们。对于我的一生,我无法理解是什么导致了这个代码段中的问题。我的...
我正在学习 C,但是当我想从函数返回字符串到主函数时遇到了一些问题。这是代码的一部分(我知道这是完全错误的,但我不知道如何让它做到......
MSVC 接受以 nullptr 初始化的指向 int 的常量指针作为常量表达式
在阅读了有关常量表达式的内容后,我编写了以下示例,该示例使用 msvc 进行编译,但被 gcc 和 clang 拒绝。 int *const ptr2 = nullptr; static_assert(!ptr2); //msvc 通道...
当我阅读 C 代码时,我经常看到这样的情况: int main(int argc, char **argv) 但我总是学会这样做: int main(int argc, char *argv[]) 那么,为什么我要使用其中一种而不是另一种呢?我知道...
考虑: 字符*s,*t; 字符c; 这项任务会发生什么? *t++ = *s++; 这在功能上等同于(选项 1): c = *t; t++; *s = c; s++; 或者它相当于这个(选项2): c ...