标签: structure

SQL表 - 半独特的行?

我有一个基本上具有以下结构的SQL表:

PK (int, primary key), userID (int), data (varchar 64)
Run Code Online (Sandbox Code Playgroud)

基本上,userID定义的任何用户都可以存储任意数量的短字符串.但是,不允许用户存储两个相同的字符串(尽管用户1和用户2都可以分别存储相同的字符串).如果可能的话,我想在数据库级别实现这个限制,因为IMHO结构约束应该总是在表中,以及在从表中插入/读取数据的程序中.

我唯一能想到的是添加第三列,其中我在每次插入时连接userID和数据,并将列称为唯一,但这对我来说似乎太"hacky".如果你们其中一个人有更好的方法可以让我把这个约束放在字段上,我愿意完全重组我的表格:)

谢谢!
马拉

sql structure unique

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

vb.net中的结构列表(字符串)

我如何在vb.net的结构中使用List(of String).例如

Structure examplestrut
    Public exampleslist As List(Of String)
End Structure
Run Code Online (Sandbox Code Playgroud)

我如何调用exampleslist.add("示例1")?

vb.net string structure list

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

C指针数学与结构

试着更好地学习指针数学我编写了这段代码.目的是增加指针投掷结构并打印它的成员.我知道如何打印它的成员更简单的方法,但我真的想知道我的指针数学是如何搞砸的.谢谢.

typedef struct{ 
  int num;
  int num2;
  char *string;
} astruct ;

int main (int argc, const char * argv[])
{
  astruct mystruct = { 1234, 4567,"aaaaaaa"};

  astruct *address;
  address = &mystruct;

  // this does print 1234
  printf("address 0x%x has value of:%i\n",address, *address); 
  address = address + sizeof(int);

  //this does NOT print 4567
  printf("address 0x%x has value of:%i\n",address, *address); 
  address = address + sizeof(int);

  //this crashes the program, I wanted to print aaaaaaaa
  printf("address 0x%x has value of:%s\n",address, **address); 

  return …
Run Code Online (Sandbox Code Playgroud)

c pointers structure

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

使用fread/fwrite在C中读取和写入文件的结构

我有以下结构:

typedef struct {
  char last[NAMESIZE];
  char first[NAMESIZE];
} name;

typedef struct {
  int id;
  name name;
  float score;
} record;

typedef struct {
  record *data;
  size_t nalloc;
  size_t nused;
} record_list;
Run Code Online (Sandbox Code Playgroud)

我试图使用此函数从文件中读取记录:

int file_read(record_list *list, record* rec)
{
  /* irrelevant code eliminated */

  while(fread(&records, sizeof(record), 1, fp))
  {
    *rec = records;
    valid_list_insert = list_insert(list, rec);
    if(!valid_list_insert)
    {
      return 0;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用此函数将record_list写入文件:

int file_write(record_list* list)
{
  /* irrelevant code eliminated */

  if(fwrite(&list, sizeof(record_list), 1, fp) == 0)
  { …
Run Code Online (Sandbox Code Playgroud)

c struct structure fwrite fread

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

通过数组初始化结构

我的教授给了我一些我以前从未见过的东西的代码.我正在努力做我的尽职调查,然后我在低级别的东西上打扰(并且可能会嘲笑自己)我的教授.

首先定义一个结构.

struct entry {
    char *lexptr;
    int token;
};
Run Code Online (Sandbox Code Playgroud)

然后在另一点,定义并初始化数组.

struct entry keywords[] = {
   "div", DIV,
   "mod", MOD,
   0 , 0
};
Run Code Online (Sandbox Code Playgroud)

其中DIVMOD#define指令.令我惊讶的是,一切都编译并运行.

就个人而言,我会做一些像新手一样的事情.

struct entry keywords[3];

keywords[0]->lexptr="div";
keywords[0]->token=DIV;
//and so on
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是,init方法如何像它一样工作?我最好的猜测是,数组的地址位置与结构中定义的元素的顺序相匹配.因此,元素定义{"div", DIV,"mod", MOD, 0 , 0};很适合entry地址级别的三个元素.

我的第二个问题是,这是正常的吗?为什么这种方式与我的sliglty更可读,更冗长,初始化数组的版本?第一种方法有什么优点吗?

c arrays structure

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

更好的代码来访问matlab结构数组中的字段?

我有一个MATLAB结构阵列Modles1大小(1x180)的具有字段a,b,c,..., z.

我想了解每个字段中有多少个不同的值.即

max(grp2idx([foo(:).a]))
Run Code Online (Sandbox Code Playgroud)

如果该字段a是双倍的,则上述工作. {foo(:).a}需要在字段a是字符串/ char的情况下使用.

这是我目前执行此操作的代码.我讨厌必须使用eval,本质上是一个switch语句.有没有更好的办法?

names = fieldnames(Models1);
for ix = 1 : numel(names)
    className = eval(['class(Models1(1).',names{ix},')']);
    if strcmp('double', className) || strcmp('logical',className)
        eval([' values = [Models1(:).',names{ix},'];']);
    elseif strcmp('char', className)
        eval([' values = {Models1(:).',names{ix},'};']);
    else
        disp(['Unrecognized class: ', className]);
    end
    % this line requires the statistics toolbox.
    [g, gn, gl] = grp2idx(values);
    fprintf('%30s : %4d\n',names{ix},max(g));
end
Run Code Online (Sandbox Code Playgroud)

reflection matlab structure

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

将C结构转换为unsigned char

我有一个函数UartSend()通过uart将数据发送到网络.它需要参数unsigned char和一个整数

UartSend(unsigned char *psend_data,int length);
Run Code Online (Sandbox Code Playgroud)

我想通过这个功能发送一个结构

#pragma pack(push, 1)
struct packet
{

    int a;
    char b[3];
    ...

}PacketData;

#pragma pack(pop)
Run Code Online (Sandbox Code Playgroud)

如何将此结构转换为unsigned char以通过UartSend发送此数据?谢谢..

c casting structure pragma

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

C - 无法释放链接列表结构中分配的内存

请考虑以下代码段

  struct node {
    char *name;
    int m1;
    struct node *next;
    };

    struct node* head = 0; //start with NULL list

    void addRecord(const char *pName, int ms1)
    {   
        struct node* newNode = (struct node*) malloc(sizeof(struct node)); // allocate node

        int nameLength = tStrlen(pName);
        newNode->name = (char *) malloc(nameLength);
        tStrcpy(newNode->name, pName);

        newNode->m1 = ms1;
        newNode->next = head; // link the old list off the new node
        head = newNode;
    }

    void clear(void)
    {
        struct node* current = head;
        struct node* next; …
Run Code Online (Sandbox Code Playgroud)

c memory-leaks structure linked-list

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

结构中指针变量的大小

int main()
{
    struct
    {
        char *name_pointer;
        char all[13];
        int foo;
    } record;

    printf("%d\n",sizeof(record.all));
    printf("%d\n",sizeof(record.foo));
    printf("%d\n",sizeof(record));

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我希望结构中指针的大小为"*name_pointer"....

c pointers structure sizeof

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

如何从glmer模型对象中提取"固定效果设计矩阵"

该调用mF@X应返回固定效应设计矩阵(对于glmm中的边际和条件R ^ 2是必需的).但它不起作用.甚至这样的矩阵列在模型结构中?

我很感激任何建议.

str(mF)
Formal class 'glmerMod' [package "lme4"] with 13 slots
  ..@ resp   :Reference class 'glmResp' [package "lme4"] with 11 fields
  .. ..$ Ptr    :<externalptr> 
  .. ..$ mu     : num [1:480] 0.168 0.356 0.168 0.356 0.284 ...
  .. ..$ offset : num [1:480] 0 0 0 0 0 0 0 0 0 0 ...
  .. ..$ sqrtXwt: num [1:480] 0.373 0.479 0.373 0.479 0.451 ...
  .. ..$ sqrtrwt: num [1:480] 2.68 2.09 2.68 2.09 …
Run Code Online (Sandbox Code Playgroud)

structure r matrix lmer

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