首页 文章
  • 0 votes
     answers
     views

    HEAP CORRUPTION DETECTED:正常阻塞后

    我试图自己定义C中的字符串类只是为了练习,当定义一个追加函数时,我得到以下错误: HEAP CORRUPTION DETECTED:正常块CRT检测到应用程序在堆缓冲区结束后写入内存 . 休息是当我尝试在“delete [] aPtr”中解除分配内存时,这是我的代码: 私人成员:int len,cap; char * aPtr; String::String() //default constr...
  • 0 votes
     answers
     views

    警告:不兼容的指针类型将'char *'传递给'FILE *'类型的参数(又名'struct __sFILE *')

    我试着执行我的代码,但我似乎得到了这个不兼容的警告 . enter code here int Read_Data_File(void) { FILE *ptr_file; char *end = "0.0.0.0 none"; char *buf; int endLoop = 0; ptr_file = fopen("CS...
  • 2 votes
     answers
     views

    使用带有char指针的malloc时出现分段错误

    我是C的新手并且学习结构 . 我试图 malloc 一个大小为30的字符指针,但它给出了一个分段错误(核心转储) . 我在互联网上搜索了它,但是我无法解决这个问题 . 任何帮助都感激不尽 .可能我错误地访问了结构的 char* 成员? typedef struct{ int x; int y; char *f; char *l; }str; void create_mall(); void c...
  • 0 votes
     answers
     views

    strcpy从struct char *到另一个struct char * - 分段错误[关闭]

    我似乎在将一个char数组从struct复制到另一个struct中的另一个char数组时遇到了问题 . 我得到一个分段错误,我认为它与在struct中为我的char数组分配内存有关 . 但有人可以确定导致核心倾销的确切点 . struct match { char *day; char *date; char *hour; char *home_side; char *vis...
  • 0 votes
     answers
     views

    C指针问题

    我有一个关于指针的小概念问题 . 这可能令人尴尬,但我需要知道答案 . 我试图使用getline函数从文件中读取一行 . getline将char **作为其第一个参数,这是存储行指针的位置 . 请参阅下面的粘贴代码并告诉我它们之间的区别 . 注意readLine指针的声明和使用 . 第二个代码在到达printf()时给了我分段错误 . 我用* gdb(在printf()之前)检查了* read...
  • 0 votes
     answers
     views

    数组中的char指针值

    我有以下代码,它使用strtok获取一些char标记,并在表中逐个保存这些标记,最后打印这些标记 . 我的错误在TABLE行中: error: invalid conversion from 'char* to 'char'' 我误解了指针和字符的东西,我不知道如何写TABLE行((我希望有以下格式)) . 我试过类似的东西 table[i][5+(i/2)] = *ptr; 但我有分段错误 ...
  • 0 votes
     answers
     views

    c,一起使用strtok和strcat

    我正在使用c创建自己的shell但我一直收到错误,我认为这涉及使用 strtok 和 strcat . 请注意 path 和 userInput 是全局字符串 . int myFunction() { char *possiblePaths = getenv(PATH); path = strtok(possiblePaths,":"); path ...
  • 0 votes
     answers
     views

    指针算术的问题 - 尝试标记输入字符串

    目前我正在开发一个程序,允许用户输入一个字符串然后进行标记化,然后使用指针数组将标记打印到屏幕上 . 通过调用我的tokenize函数来“执行”这个操作,该函数读取输入字符串直到第一个分隔符('',',',' . ','?','!') . 然后它将我的字符串中的分隔符更改为NULL char . 然后它应该返回一个指向我的字符串中的下一个字符的指针 . 在输入字符串之后的main中,它应该继续调用...
  • 1 votes
     answers
     views

    C:以深层拷贝更新指针(高效)

    我的问题最好用代码示例说明,所以让我们开始吧: class Game { // All this vector does is establish ownership over the Card objects // It is initialized with data when Game is created and then is never // changed. ...
  • 1 votes
     answers
     views

    复制后松散子类中的指针

    我有2个班: class CCandidate { public: float score; BitSet documents; std::vector<std::vector<int> > phrases; int cardinality; /** For merging. */ CCandidate() : sc...
  • 0 votes
     answers
     views

    C复制构造函数,指向指针向量的指针

    我有一个类 A ,它有一个指向指针向量( current )的成员,该向量包含一对整数和类 B 的对象 . 我需要能够为类 A 的对象创建副本,为此我使用 Clone 函数(参见下面的代码) . 但是,当我使用此函数时,指针似乎指向相同的内存位置,而不是指向不同的内存位置 . 我认为解决这个问题的方法是为我的类实现一个复制构造函数,以便能够正确地复制我的对象,但我没有这样做 . 以下是我的类的外观...
  • 2 votes
     answers
     views

    C清除动态分配对象指针的向量会导致异常吗?

    我有一个名为 ClassA 的 class . 这个 ClassA 包含一个指向动态分配类 ClassB 的对象的向量 . ClassA 的析构函数如下所示: ClassA::~ClassA() { for (vector<ClassB*>::iterator i = m_vActiveB.begin(), e = m_vActiveB.end(); i != e; ) ...
  • 0 votes
     answers
     views

    C传染媒介指向对象居住

    我有一个类,它有一个指向另一个类对象的指针向量 . class Foo { public: Foo(vector<Member*> m); Foo(); ~Foo(void); void addMember(Member* m); vector<Member*> getMember(void); private: vector<Member*> m; }; ...
  • 0 votes
     answers
     views

    在BST中删除节点而没有指向它的父节点

    我正在将这本电话簿写在安排在BST的结构上 . 它由两个结构组成: -数据结构: typedef struct note { char name[LENGHT]; char surname[LENGHT]; int tel; }data; 结构: typedef struct junction { data entry; struct junction...
  • -1 votes
     answers
     views

    二进制搜索树节点删除错误

    我已经创建了我的二叉搜索树,并将指向我要删除的节点的指针放到我的 *p 中 . 删除方法应该是删除 *p 指向的节点,并且应该将 addtree 的子树添加到我的根目录 . *pBaum 是指向我的根的指针 . 但是我每次声明时都会在 addtree 上收到一条名为"conflict types"的错误消息 Baum = addtree(Baum, p->right)...
  • 1 votes
     answers
     views

    二叉搜索树递归混淆

    我认为这是一个愚蠢的问题但很遗憾地说它会清除我的困惑 . 如果您只是查看此代码 void printInOrder(){ printPrivateInOrder(root); } void printPrivateInOrder(Node* n){ if (root != NULL){ if (n->left != NULL){...
  • 2 votes
     answers
     views

    解决GCC警告:“通过临时指针解除引用类型 - 惩罚指针将破坏严格别名规则”

    在功能 size_t csps_socket_read(csps_socket_t *s, csps_packet_wrapper_t *packet, size_t sz) 我收到警告:“取消引用类型惩罚指针将破坏以下行中的严格别名规则[-Wstrict-aliasing]”: packet_size = ((csps_packet_full_header_t *)s->receive_...
  • 25 votes
     answers
     views

    通过易失性引用/指针访问声明的非易失性对象是否会在所述访问时赋予易失性规则?

    这将是一个漫长的过程,关于它的上下文并提供尽可能多的信息,我必须通过各种链接和引用来蜿蜒 - 这通常是我们进入C / C标准兔子洞后的唯一方法 . 如果您对此帖有更好的引用或任何其他改进,请告诉我 . 但是要事先总结一下,目的是从两个命题中找到真相: Do the C and (by import; see comments) C++ Standards require that access...
  • 45 votes
     answers
     views

    取消引用类型惩罚指针将破坏严格别名规则

    我使用以下代码来从文件中读取数据,作为更大程序的一部分 . double data_read(FILE *stream,int code) { char data[8]; switch(code) { case 0x08: return (unsigned char)fgetc(stream); case 0x...
  • 3 votes
     answers
     views

    调用free()包装器:解除引用类型惩罚指针将破坏严格别名规则

    我试图在这里阅读其他类似 Headers 的问题,但是对于我来说,能够将解决方案(甚至解释)应用到我自己的问题上看起来有点过于复杂,这似乎是更简单的性质 . 在我的情况下,我有一个 free() 的包装器,它在释放后将指针设置为 NULL : void myfree(void **ptr) { free(*ptr); *ptr = NULL; } 在我正在研究的项目中,它被称为:...
  • 2 votes
     answers
     views

    对象和指针的C向量

    这是一个人为的例子,说明了我遇到的问题 . 基本上,我创建了一个对象向量,然后是一个指向对象的指针向量,然后打印指针和解除引用的对象 . #include <vector> #include <iostream> using namespace std; namespace { struct MyClass { int* MyInt; ...
  • -2 votes
     answers
     views

    不了解被问及的内容以及如何输入内容?

    我无法理解该程序的某些部分问题,并想知道为什么以及如何键入该程序 . 以下是我无法理解的部分: 第三个成员变量是指向double,pquiz的指针 . 这将用于动态分配一个数组,该数组将保存学生的测验成绩 . (我这样做了吗?) 第四个成员变量是一个双倍保持测验成绩的平均值 . 该类应该有一个接受int的参数构造函数,并将动态分配双测验等级数组 . 或者类可以>有一个两个参数构造函数,它接受...
  • 1 votes
     answers
     views

    在c中的模板中使用运算符

    我正在尝试使用指针实现List类,并尝试实现一个函数LOCATE(T x),其中T代表模板,如果找到则返回元素x的第一个位置,否则返回最后一个位置1 . 我的功能代码是 template<class T> int List<T>::locate(T n) const { int size = end(); Node<T&...
  • 3 votes
     answers
     views

    删除std列表中的指针对象

    我有一个 std::list 的 Entity 个对象(屏幕上的对象) . 在一个类 EntityContainer 中,我有一个指向不同实体的指针列表 . 当 EntityContainer 被破坏时,我希望该列表中的所有实体也被破坏 . 我怎么能这样做,同时避免导致删除列表成员的迭代器错误? EntityContainer::~EntityContainer() { // Destro...
  • -2 votes
     answers
     views

    根本无法理解在阵列中存储像素数据的概念

    (已经提交的作业)我上交的内容甚至没有编译 . 这不是针对点,它纯粹是为了理解(查看截止日期)我能够完成其余的任务但是因为我无法弄清楚如何相对于高度/宽度保存像素数据 . 我真的花了最近5个小时试图理解这一点,但它只是没有点击 . 如何保存单个像素rgb值 . 在读入图像时,如何判断程序@ height 1,width 1,读取green = 200,blue = ...,red = ....?如...
  • 6 votes
     answers
     views

    使用far函数指针

    我意识到远远不是编译器特定的,但我的期望是far说明符的位置应该对那些真正理解指针的人有意义 . 所以,我有两个共享处理器整个内存空间的应用程序 . App A需要调用应用程序B中存在的函数foo . 我知道函数foo的内存位置 . 所以这应该适用于应用程序A: typedef int (* __far MYFP)(int input); void somefunc(void) { int...
  • 142 votes
     answers
     views

    常量指针有什么意义?

    我不是在讨论指向const值的指针,而是指向const指针本身 . 我正在学习C和C,超越了基本的东西,直到今天我才意识到指针是通过值传递给函数的,这是有道理的 . 这意味着在函数内部,我可以使复制的指针指向其他值,而不会影响来自调用者的原始指针 . 那么有一个函数头是什么意思: void foo(int* const ptr); 在这样的函数里面你不能让ptr指向别的东西因为它是const并且...
  • 3 votes
     answers
     views

    将函数定义为函数指针

    主要是为了好玩,我决定为我的C代码编写自己的最小测试框架 . 我使用基本 struct 作为测试信息,创建一个测试数组 struct 然后迭代它们以运行所有测试 . 对于相当优雅(imho)的解决方案而言,这相当于非常少量的工作 . 然而,有点恼人的一件事是我无法弄清楚如何将函数定义为函数指针而不是定义函数,然后再创建函数指针 . 我有以下(工作得很好): typedef int (* test_...
  • 2 votes
     answers
     views

    函数指针如何替换switch语句?

    我正在阅读这个关于函数指针的教程,它说函数指针可以替换switch语句http://www.newty.de/fpt/intro.html . 任何人都可以澄清吗? 我们有一个这样的switch语句: // The four arithmetic operations ... one of these functions is selected // at runtime with a swict...
  • 2 votes
     answers
     views

    C指针和内存

    我正在学习C,现在我撞墙了 . 我很难理解指针 . 想象一下,我有这个代码: #include <stdio.h> #include <stdlib.h> #include <malloc.h> #define DELTA 33 int calls, seed=356; int sum_ds(int a){ int d=DELTA; ...

热门问题