标签: structure

最佳C结构定义

我只是想知道在C结构(C结构定义)中打包项(int,float,unions等)时要遵循的注意事项,这将允许编译器进一步优化它.

我想知道是否应该遵循任何指导原则,例如以允许对齐单词边界的顺序向结构添加项目.等?

细节将不胜感激.

问候,-J

该问题还需要针对交叉编译此类C结构的优化策略.

c compiler-construction optimization structure definition

1
推荐指数
2
解决办法
1822
查看次数

Infinispan树就像缓存结构一样

我想使用Infinispan遵循树状结构来缓存.例如,对于股票代码符号使用以下数据结构:

  1. 交易所(纽约证券交易所,AMEX ......)
  2. 日期
  3. 断续器

我不知道如何实现这个,因为我发现的唯一例子非常基本,例如:

cache.put("key", "value");
Run Code Online (Sandbox Code Playgroud)

我试着查看互联网和stackoverflow没有任何运气......我知道我可以在上面的例子中展平结构但是为了说明的目的,我想知道Infinispan是如何工作的(并且教程没有涵盖它,这就是为什么我不能正确思考它,因为Infinispan非常强大).

任何帮助将不胜感激.

谢谢,朱利安

tree jboss caching structure infinispan

1
推荐指数
1
解决办法
1317
查看次数

我应该如何为一个队列或堆栈使用两个C结构?

我得到了以下结构定义,用于围绕队列和堆栈的分配:

struct entry
{
            bool operation;
            char op;
            int num;
};

struct node
{
            bool operation;
            char op;
            int num;
            entry * next;
};
Run Code Online (Sandbox Code Playgroud)

赋值很简单,但我不确定如何将这些结构实现到队列或堆栈中.我想如果你想创建一个链表,那么你只使用了一个结构.有没有办法使用这个设置?这可能是一个错字吗?

c queue stack struct structure

1
推荐指数
1
解决办法
108
查看次数

按值传递struct

鉴于以下代码,我很想知道如何避免以下异常

System.InvalidOperationException was unhandled
Message=Collection was modified; enumeration operation may not execute.
Source=mscorlib
StackTrace:
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
   at System.Collections.Generic.List`1.Enumerator.MoveNext()
   at PBV.Program.Main(String[] args) in C:\Documents and Settings\tmohojft\Local Settings\Application Data\Temporary Projects\PBV\Program.cs:line 39
   at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
InnerException: 
Run Code Online (Sandbox Code Playgroud)

码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PBV
{ …
Run Code Online (Sandbox Code Playgroud)

.net c# structure pass-by-reference pass-by-value

1
推荐指数
1
解决办法
309
查看次数

从函数结构成员获取函数地址

我正在尝试获取隐藏在结构后面的函数地址.不幸的是,void*基本的C++转换不起作用,所以我使用了C++ template.

1.基本C++转换不适用于结构内部的函数,为什么?void*

void * lpfunction;
lpfunction = scanf; //OK
lpfunction = MessageBoxA; //OK
Run Code Online (Sandbox Code Playgroud)

我做了一个简单的结构:

struct FOO{

    void PRINT(void){printf("bla bla bla");}

    void SETA(int){} //nothing you can see
    void SETB(int){} //nothing you can see

    int GETA(void){} //nothing you can see
    int GETB(void){} //nothing you can see
};
///////////////////////////////////////////
void *lpFunction = FOO::PRINT;
Run Code Online (Sandbox Code Playgroud)

编译错误:

error C2440: 'initializing' : 
cannot convert from 'void (__thiscall FOO::*)(void)' to 'void *'
Run Code Online (Sandbox Code Playgroud)

2.获取功能成员地址是不可能的?

然后,我创建了一个模板函数,它能够将函数成员转换为地址.然后我将通过汇编调用它.它应该是这样的:

template <class F,void (F::*Function)()>  
void * GetFunctionAddress() …
Run Code Online (Sandbox Code Playgroud)

c++ assembly structure visual-studio

1
推荐指数
1
解决办法
1070
查看次数

如何正确使用结构内的指针数组

我有两个结构父母和孩子,你可以在下面的代码中看到.父结构有一个类型为child的指针数组.程序进入for循环时出现segmetation错误.我的代码有什么问题吗?我不想使用方括号的原因是我有一个函数,它接受类型为child的指针参数,我希望将每个子指针传递给该函数,而不需要使用&.

任何帮助将不胜感激谢谢

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

typedef struct {
   int id;
} child;

typedef struct {
   child** c;
} parent;

int main(int argc, char **argv) {
    int number_of_children = 5;

parent* p = (parent*)malloc(sizeof(parent));

p -> c = (child **) malloc(number_of_children * sizeof(child*));

int i;
for(i=0; i<number_of_children; i++)
    p -> c[i] -> id = i;
}
Run Code Online (Sandbox Code Playgroud)

c malloc pointers memory-management structure

1
推荐指数
1
解决办法
1564
查看次数

如果我们将打印结构变量本身,那么程序的行为是什么

我正在检查C代码的一些输出.代码是:

main()
{
    struct temp 
    {
        int a;
        float b;
    }t;

    t.a = 5;
    t.b = 2.0;

    printf( "%d   %d    %f" , t, t.a ,t.b); // printing  5  0   0.0000000 ...why?? 
    printf( "%d   %f    %d" , t.a, t.b ,t); // printing  5  2.000000  5 
}
Run Code Online (Sandbox Code Playgroud)

这个程序的输出是什么?打印什么"t"?如果行为未定义,那么在某个C标准中给出的行为将是未定义的.

c printf structure output

1
推荐指数
1
解决办法
109
查看次数

c中结构指针之间的区别

鉴于以下结构:

struct node
{
    int data;
    struct node *next;
};
Run Code Online (Sandbox Code Playgroud)

以下两个功能有什么区别:

void traverse(struct node *q);
Run Code Online (Sandbox Code Playgroud)

void traverse(struct node **q);
Run Code Online (Sandbox Code Playgroud)

他们是如何使用的?

c pointers structure

1
推荐指数
1
解决办法
1965
查看次数

c中的结构和文件

我有一些问题.我创建了文本文件studenti.txt,内容如下:

  1. Gatis Lietnieks 15.06.1993 v
  2. Vizma Kalesnica 20.08.1991 s
  3. Katrina Sabone 06.12.1992 s
  4. Haralds Burkovskis 01.02.1989 v
  5. Jezups Martinovs 02.05.1990 v
  6. Vizma Zigurde 19.09.1988 s
  7. Stasija Balode 12.12.1993 s
  8. JānisBērziņš99.03.1992v
  9. Zigurds Ritms 16.05.1991 v
  10. Pauls Zirdzins 12.11.1989 v
  11. Zane Skarbule 28.12.19990 s
  12. Aiga Bulle 11.08.1993 s
  13. Andrejs Fomkins 11.06.1989 v
  14. Maikls Dzordans 08.01.1988 v

我想读取此文件并在c程序中打印文件的内容.我的代码是这样的:

 #include <stdio.h>
 #include <conio.h>
 #include <string.h>
 #include <windows.h>
 #define N 16
 int main()
 {
 FILE *fails_st;

 struct date
 { int da_year;
   int da_month;
   int da_day; …
Run Code Online (Sandbox Code Playgroud)

c structure char data-structures

1
推荐指数
1
解决办法
96
查看次数

在函数内定义结构是隐藏其他函数结构的好方法吗?

您可以在函数内定义结构,如下所示:

fn user_status() -> bool {
    struct UserStatus {
        logined: bool,
        name: Option<String>,
    }
    // ...
    true
}
Run Code Online (Sandbox Code Playgroud)

这是从其他函数隐藏结构的好方法,是每次调用函数或只创建一次时定义的结构吗?

structure function rust

1
推荐指数
1
解决办法
634
查看次数