struct相关内容

试图在结构使用scanf函数时分割故障

我是pretty新的C和我此刻的沮丧以及pretty。这里的code我有: typedef结构{字符* FNAME; 字符* LNAME; 字符* PNUM; 字符*地址; 字符*电子邮件; } CONTACTINFO;无效的addContact(){ CONTACTINFO *接触; 接触=(CONTACTINFO *)malloc的(的sizeof(CONTACTINFO));的print ..
发布时间:2016-08-18 23:37:43 C/C++

阅读文件和填充结构

我有如下定义的结构: typedef结构MYSTRUCT { int类型的; 字符* C; INT F; }对象; 我能够填充此对象,并将其写入文件。但是我不能够读取它的char * C值...尝试读取它,它给了我一个分段错误。有什么毛病我code: // writensave.c#包括“mystruct.h” #包括LT&;&stdio.h中GT; #包括LT&; ..
发布时间:2016-08-18 23:35:56 C/C++

浅复制足以用char []结构?

我有一个包含字符数组,没有任何其他成员函数的结构。我做的这些结构的两个实例之间分配操作。如果我没有记错的话,也算浅拷贝。是浅拷贝安全在这种情况下? 我在C ++中尝试这样做,它的工作,但我只是想确认,如果这种行为是安全的。 解决方案 如果由“浅拷贝”,你的意思是一个包含数组结构,在转让之后数组将指向原始的结构数据,那么:它​​不能。数组中的每个元素都必须复制到新的结构。 “浅拷贝”到图片 ..
发布时间:2016-08-18 23:35:23 C/C++开发

的typedef stuct在C向前声明

我有这样的: typedef结构数据数据,* DATA_PTR; typedef结构单元为单位,* UNITS_PTR;数据结构 { 双miscData; 单位单位; };结构单元 { 双X [2]; 双Y [2]; 双[2]张; }; 在我的 project_typedef.h 文件。 在另一个文件中,我有这样的:无效的FileInput(DATA ..
发布时间:2016-08-18 23:32:09 C/C++

C结构与初始化字符数组

我有一个C结构定义如下: 结构客户{ INT年龄; 焦炭名[20]; }; 当我创建了一个访客变量并使用以下初始化它: INT guest_age = 30; 焦炭guest_name [20] =“迈克”; 客户结构迈克= {guest_age,guest_name}; 我对第二个参数初始化它告诉我, guest_name 不能用于初始化成员变量的误差字符名称[20] 。 ..
发布时间:2016-08-18 23:25:57 C/C++

是C-结构与保证在内存相同的布局相同的成员类型?

从本质上讲,如果我有 typedef结构{ INT X; 诠释Ÿ; } 一个;typedef结构{ INT H; 时int k; } B: 和我有 A A ,请问C标准保证((B *)及一) - GT; k 相同唉? 解决方案 是C-结构与保证在内存相同的布局相同的成员类型? 几乎是肯定的。对我来说足够接近。 从n1516,第6.5.2.3条 ..
发布时间:2016-08-18 23:19:01 C/C++

是memset的(安培; MYSTRUCT,0,sizeof的MYSTRUCT)一样MYSTRUCT = {0};?

我被一个数组/结构的默认阅读有关初始化值,并有这样的疑问: 是 memset的(安培; MYSTRUCT,0,sizeof的MYSTRUCT)相同 MYSTRUCT = {0}; ? 如果不是,有什么区别呢? 解决方案 是memset的(安培; MYSTRUCT,0,sizeof的MYSTRUCT)一样MYSTRUCT = {0}; ? 没有。 memset的(安培; M ..
发布时间:2016-08-18 23:14:44 C/C++

在C静态结构的成员变量

我有一个静态的结构在C语言中的成员变量的问题。 有人说,我们可以声明一个静态结构,但在C,结构不具备静态成员像C ++类,这是什么意思?如果我宣布一个静态的结构,什么是成员的状态变量?可以有人帮助我在这? 解决方案 需要注意的是一个静态的结构本身是从结构的静态成员不同。虽然你可以声明静态结构变量: 静态结构MYSTRUCT秒; 您不能用静态成员定义一个结构类型:结构MYSTRUCT ..
发布时间:2016-08-18 23:05:53 C/C++

MPI和C结构

我不得不承认,我很震惊地看到code多少行需要与MPI传送一个C结构。 在什么情况下将它的工作简单地使用predefined数据类型的传输结构 MPI_CHAR ?请看下面的例子: 结构粒子{ 双X; 双Y; 我长; };结构颗粒磷; MPI_Isend(安培; P,的sizeof(颗粒),MPI_CHAR,吊牌,MPI_COMM_WORLD,&安培;的发送方); 在我的 ..
发布时间:2016-08-18 23:05:09 C/C++

如何使结构成员的私人?

我定义在头文件中的结构如下所示: typedef结构{ void *的数据; }点; 我想防止他人直接访问*数​​据,所以我想我会在声明.c文件的结构,而不是和使用类似的extern typedef结构点; 在头文件。这并不然而工作。 什么是实现这一目标的最佳途径? 解决方案 在你的(公)头文件: typedef结构点对点; 在你的 .C 文件:结构点 { void ..
发布时间:2016-08-18 23:03:29 C/C++

联盟和结构布局问题

我在写一些软件,其中每一位必须是准确的(这是为CPU),所以__packed是非常重要的。 的typedef工会{ uint32_t的原料; 结构{ unsigned int类型$ P ​​$ psent:1; unsigned int类型RW:1; unsigned int类型用户:1; unsigned int类型脏:1; 无符号整型免费:7; unsigned int类型的帧:20; } ..
发布时间:2016-08-18 23:02:38 C/C++

为什么可以声明一个结构和非结构用相同的名字吗?

显然, 对于伸入C的prehistory的原因,有可能宣布一个结构和非结构用在同一范围内的同一名称。 - ( Bjarne的Stroustrup的 - 在C ++语言程序设计第4版的) 例如: 结构Ambig {};//这个结构必须以preFIX结构被称为 无效Ambig(结构Ambig * BUF){} 我只是好奇什么最初原因是?如果没有理解,就好像坏语言设计的例子,引起模糊和 ..
发布时间:2016-08-18 23:02:33 C/C++开发

关于默认的C结构值,你看这个code?

我试图创建具有默认值结构。我不知道如何做到这一点,因为每个code,我看到,大约是初始化,我会为它的自然的方式一样... 结构的东西{ INT stuff_a = 1; INT stuff_b = 2 ... ...等等... }; 和细算一下,我发现这个(C ++)code:结构A {A():I(0),J(0){}; INT我;对INT J;} 我从来没有见过这样的事为C. ..
发布时间:2016-08-18 22:57:28 C/C++

要查找一个结构的大小和填充位置的方法吗?

我试图写一个工具,将作为输入结构包含一些C code。这将编译code,然后找到和输出的规模和任何填充编译器决定增加在它结构的偏移量。这是pretty简单的使用offsetof,sizeof的一个已知的结构做手工,还有一些补充,但我想不出一个简单的方法来对任何输入结构自动完成。 如果我知道如何通过在结构中的所有元素循环,我想我能得到没有问题写的工具,但据我知道有没有办法做到这一点。我希望Stac ..
发布时间:2016-08-18 22:56:48 C/C++

C:进行动态调整结构风格推荐

我需要通过它的长度应是动态的Internet上传输的数据包。 结构包 { INT ID; 诠释filename_len; 字符的文件名[]; }; 的问题是,零长度数组不是符合ISO标准。 我应该使用字符文件名[1]; 呢?但随后的sizeof(结构数据包)将不再返回正确的值。 解决方案 经典问题。你可以简单地处理它(请注意,sizeof的(富)可能由多个熄灭如果编译器轮的 ..
发布时间:2016-08-18 22:56:28 C/C++

如何铸就C结构只是另一种结构类型,如果他们的内存大小相等?

我有2矩阵结构是指相等的数据,但有不同的形式这样的: //矩阵型。 TYPEDEF浮标; typedef结构{É标量[4]; }向量; typedef结构{矢量E [4]; }矩阵;//矩阵2型(你可能知道,如果你是iPhone开发者) //定义CGFloat的浮法了简单的描述。 TYPEDEF浮CGFloat的; 结构CATransform3D { CGFloat的M11,M12 ..
发布时间:2016-08-18 22:55:44 C/C++

正向申报在Objective-C的一个结构

我创建一个协议,而参数我定义的方法之一是 CMTime * 。我想申报转发 CMTime ,而不是包括它。不过,我已经试过 @class CMTime 并抱怨说,它是为不同类型的符号在其他地方重新定义。文件说,这是一个结构。我试着向前声明为 结构CMTime; 但它仍然抱怨它不知道它是什么。 任何想法我做错了吗? 解决方案 编译为ObjC源具有相同的规则为C在这方面。 编译为ObjC + ..
发布时间:2016-08-18 22:53:28 移动开发

C90:我如何在全球范围初始化这个结构的C时不C99扩展

我不知道初始化这个结构的最佳方式是什么C90,同时仍保持平整。 在我的头文件,称它为test.h,我有以下结构定义的: 结构s_test_cfg { 字符* A [3]; 炭* B [3]; 字符* C [3]; } 然后我把它声明为一个外部的结构,这样我可以在.c文件全局初始化:的extern结构s_test_cfg test_cfg; 现在在我 ..
发布时间:2016-08-18 22:49:10 C/C++