首页 文章
  • 47 votes
     answers
     views

    C - struct vs. class [duplicate]

    可能的重复:C / C Struct vs Class C中的POD类型是什么? 嗨, 在 C++ In a Nutshell book , chapter 6: classes , Access specifiers 下面,提到了以下内容: 在类定义中,成员和基类的默认访问权限是私有的 . 在结构定义中,默认值为public . 这是类和结构之间的唯一区别,尽管按照惯例,一些程序员仅将结构...
  • 7 votes
     answers
     views

    c 11(工作草案)标准中的布局兼容性是否太弱?

    当然,答案是“不”,因为写它的人认为它很难,但我想知道为什么 . 考虑到(无模板)类通常在头文件中声明,然后将其包含在几个单独编译的文件中,请考虑这两个文件: file1.c #include <cstddef> struct Foo { public: int pub; private: int priv; }; size_t getsize1(Foo const &...
  • 0 votes
     answers
     views

    是否有一个有效的用例,其中非POD结构优先于类?

    根据(2003)标准的结构定义,它是一个类的特殊情况,具有成员,函数和基类的不同默认访问修饰符 . 它还继续将结构的要求定义为POD结构 . C 2003标准,ISO 14882第9.0.4节: 结构是使用class-key结构定义的类;其成员和基类(第10条)默认是公开的(第11条) . union是一个用class-key union定义的类;默认情况下,它的成员是公共的,它一次只保存一个...
  • 0 votes
     answers
     views

    将内存分配给struct-nodes

    我很好奇关于用c语言创建结构节点的一个问题 它是关于struct-objects的分配内存 . 我做了以下简单的代码,打印字母"h"和"e",我为第一个结构和第二个结构对象分配了内存 . 试验我删除(发表评论)otf第一个malloc即( ptrList = malloc(sizeof(list)); ) 实际上 - 没有崩溃 - 它仍然有效,这是我的问题 ...
  • 0 votes
     answers
     views

    更改链接列表中struct的int值

    我有一个结构: struct person{ char* name; char* surname; int age; }; 我在另一个结构中使用此结构作为链表: struct listNode { struct person data; struct listNode *nextPtr; }; typedef struct listNode L...
  • 0 votes
     answers
     views

    结构中数组的动态内存分配,

    我不明白如何为另一个结构中的结构数组动态分配内存 . 因为,这是我的问题...我有一个包含main的project.c文件,我有另一个polynomial.c文件,它处理所有的poly操作,比如添加术语,将多项式乘以数字等 . 这是polynomials.h的头文件 typedef struct term{ int coeff; int expo; } TERM; typedef...
  • 0 votes
     answers
     views

    在C中使用Free()时的运行时错误

    我正在尝试在C中使用结构的链接列表,其中一个结构表示列表,另一个结构表示列表的成员 . 这是他们的定义: typedef struct symEntry symEntry; struct symEntry{ const char * key; const void * value; struct symEntry * next; struct symEntry *...
  • 3 votes
     answers
     views

    手动为结构分配内存

    所以我正在研究C中的一个项目,我们需要实现malloc和free(意思是,我们不能使用任何C内存管理函数,如malloc()或free()) . 这只是一个代码段,但它包含所有相关部分 . struct block_header { int size; }; typedef struct FList_elem { struct block_header * header; ...
  • 1 votes
     answers
     views

    带字符串的结构的C内存分配

    如果我在一个结构中有一个字符串成员然后存储到一个数组中,那么内存是如何分配的? struct garage { int ncars; int nspaces; int nmechanics; string name; } 但对于最后一个成员,name,string基本上是basic_string的typedef,所以它的内存在定义时会被分配,对吧?例如:garage.na...
  • 0 votes
     answers
     views

    你应该什么时候将指针的大小与结构本身的大小相关联?

    我无法理解指针的malloc大小何时与结构的大小相关 . 例如: 我有一个结构: typedef struct { char *String; int Length; } WORD; 我想使用指针创建一个指向WORD数组的指针: WORD **WordArray; WordArray = malloc(sizeof(WORD*)) //Since WordArray is...
  • 1 votes
     answers
     views

    将内存分配给包含结构的节点

    所以说我有一个来自双向链表的节点 typedef struct node { struct node *pPrev; struct node *pNext; struct record *data; }Node; 和以下结构命名记录,在该命名的songlength中有一个struct typedef struct record { char *artist; char *albu...
  • 2 votes
     answers
     views

    为C中struct中定义的字符指针分配静态内存

    我有char指针的结构 . 我想为这个struct成员分配静态内存 . 我怎样才能做到这一点? 例: struct my_data { int x; bool y; char *buf; }; 如何为此char指针分配10个字节的静态内存?我知道malloc分配动态内存分配 . 这个可以吗? struct my_data data; char buffer[10]; d...
  • 3 votes
     answers
     views

    在C中的结构中,是否需要malloc空间用于函数指针?

    例如,我必须在函数中使用以下参数创建结构:一个函数指针,格式为:void(* func)(void *)和一个int id . 要创建的结构如下: typedef struct example { int id; void (*func)(void *); } Example; 现在我的问题是当我为整个结构我的malloc空间时,我是否也为void函数指针的malloc空间,因为...
  • 1 votes
     answers
     views

    C - 我的记忆释放功能有什么问题?

    我有一个结构,其中包含2个整数和一个指向另一个结构的指针 . 我首先为struct分配内存然后为指针分配内存 . 当我释放内存时,我先释放指针,然后释放结构 . 当我运行我的程序并调用释放内存的函数时,它会在调用时崩溃 . 当我不调用释放内存的函数时它工作正常,但后来我没有释放内存 . 我尝试删除释放分配给指针的内存的行,程序不会崩溃,但我不认为这是正确的,因为每个“malloc / calloc...
  • 26 votes
     answers
     views

    如果我们只有一个成员,那么结构和联盟之间有什么区别吗?

    我想知道一个成员数据类型的结构和联合之间的区别,如果有的话 .
  • 2 votes
     answers
     views

    结构中动态分配的指针数组

    我想做这样的事情 . typedef struct Test{ int value; struct Test* parent; struct Test** children; }Test; 所以我想要一个指向另一个父结构的节点 . 然后我想要一个指向子节点的动态分配数组 . 我的问题是我不知道这将如何在语法上起作用 . 例如, Test* first; Test* second; T...
  • 2 votes
     answers
     views

    每个包含动态数组的结构数组

    我对C有点精通,我觉得我的指针都搞清楚了,直到遇到这个问题 . 我正在创建一个数组实现的结构堆栈 . 很容易,但是当我的struct包含动态分配的数组时,我遇到了问题 . 结构是: typedef struct state { int* S; double prob; } state_t; 现在说我想创建一个包含10个结构的数组,每个结构都有一个整数数组,比如5个整数 . 我可以...
  • 0 votes
     answers
     views

    从结构中的2D数组中自由动态分配的内存

    我有一个指向结构的指针,结构中的一个对象是一个int ** . 双指针用于为2d数组动态分配内存 . 我无法弄清楚如何释放这个数组的内存 . 有任何想法吗? struct time_data { int *week; int *sec; int **date; }; typedef struct time_data time_data; time_data *getTim...
  • 0 votes
     answers
     views

    malloc和free动态变化的结构

    我在动态变化的结构中移动指针时遇到了麻烦 . 我已经创建了我的代码,你可以在malloc中获得更多的内存,这似乎是有效的 . 我遇到的问题是如何添加到结构,如何释放内存以及如何从结构移动到结构并打印所有项目 . 我正在尝试测试添加和打印(删除功能似乎没有用,segfaults) 当我添加到结构然后打印结构时,我从我添加的值中得到一个段错误 . 我不知道我是否正确地从第一个结构转移到下一个结构 . ...
  • 0 votes
     answers
     views

    C struct malloc&指针数组实现

    我几天前刚开始用C语言编程 . 我现在正在尝试学习结构 . 我有这个程序和 I want to improve it so that my array people is now an array of pointers to structs. 我不知道该怎么做 . I also want to modify my insert method, to call malloc to create a...
  • -3 votes
     answers
     views

    C,gets()可能很危险 . 来自文件的数据不会出现[重复]

    这个问题在这里已有答案: Why is the gets function so dangerous that it should not be used? 11个答案 Crash or “segmentation fault” when data is copied/scanned/read to an uninitialized pointer 3个答案 当我尝试运行此代码时,我得...
  • 33 votes
     answers
     views

    ValueType.GetHashCode的本机实现如何工作?

    我创建了两个 TheKey 类型的结构k1 = {17,1375984}和k2 = {17,1593144} . 显然,第二个字段中的指针是不同的 . 但两者都得到相同的哈希码= 346948941 . 预计会看到不同的哈希码 . 请参阅下面的代码 . struct TheKey { public int id; public string Name; public Th...
  • 0 votes
     answers
     views

    C程序读取大文本文件并在struct中存储信息

    我正在研究一个C程序,它要求我读取一个相当大的文本文件并将信息存储在结构中 . 该文件包含他们所在的演员姓名和电影 . 我搜索了我的教科书和其他在线资源,但仍然不知道如何继续 . 我有一个较旧的程序,读取类似的文件,但格式更好 . 我需要改变它以适应我对这个项目的需求,但不知道如何 . My code: #include <stdio.h> #include <stdlib.h&...
  • 6 votes
     answers
     views

    字符串和结构的奇怪行为

    我一直遇到下面的代码问题,我想了解为什么它不起作用 . 当我直接在结构中使用一个从函数返回的字符串时,我得到了一个奇怪的行为 . 第一个printf没有问题,与第二个和第三个相同,但由于某种原因,最后一个进入分段错误或只是打印一个随机字符串 . 如果我尝试在结构中使用char指针而不是数组,则问题不会出现 . #include <stdio.h> typedef struct { ...
  • -1 votes
     answers
     views

    使用csv文件的输入填充结构数组

    我必须阅读这种csv文件 565;4;6;8;11/10/2017;11:30 756;5;9;1;12/12/2017;10:40 765;-8;-2;-1;06/01/2018;23:23 我需要将这些数据放入此结构中 typedef struct { int cod_event; int x; int y; int z; int day; int month; int year; int...
  • 0 votes
     answers
     views

    将全局结构作为引用传递给类

    我试图定义一个struct变量,并通过类作为下面的示例使用 . 我只想分配一次struct变量,而不是在每个函数中获取/设置 . global.h struct structPort{ unsigned int portno; unsigned int timeleft; int dummy; }; extern structPort mainPort; // this one is...
  • 2 votes
     answers
     views

    union和struct的字节大小

    #include <iostream> using namespace std; typedef union { long i; int k[5]; char c; } UDATE; struct data { int cat; UDATE cow; ...
  • 0 votes
     answers
     views

    type关键字的确切含义是什么?

    我一直在阅读A Tour of Go以学习Go,到目前为止它还是很好 . 目前我在Struct Fields Lesson上,这是右侧的示例代码: package main import "fmt" type Vertex struct { X int Y int } func main() { v := Vertex{1, 2} v.X = 4 fm...
  • 2 votes
     answers
     views

    如何利用struct数组根据用户输入输出给定的结构

    ISSUE: 我正在尝试用 beer.dat 中的数据填充我的 beerData struct ,除了我不明白结构如何工作得很好而不会崩溃我的代码 . 我相信我需要一系列结构 . The beer.dat file contents: 7 // total number of beers Coors //beer name 1234567 // beer id 72 // beer quan...
  • 0 votes
     answers
     views

    C - 将struct序列化为char *会更改原始数据

    在this问题之后,我决定将我需要通过TCP / IP连接发送的一些数据序列化 . 数据非常简单: typedef struct whiteboard { int palladium, platine, zirconium, erbium, astate, californium; } sharedData; 我的序列化功能也非常简单: void serializeWhiteboard ...

热门问题