标签: structure

在c ++中全局定义结构

有一个有点详细的线程(228684)关于如何全局(使用extern结构)声明一个可以在超过1个c ++文件中看到的结构,但我无法弄清楚到底是怎么做的(有很多讨论要做到这一点,做到这一点,也许这样做,尝试这个,等等...).

couuld有人请发一个非常简单的例子来说明如何声明一个可以在2个单独的c ++文件中看到的结构?如果我将所有函数放在与main相同的文件中,它可以正常工作,但是当我尝试将函数拆分为不同的文件时,我无法进行编译.

我不清楚的事情......我应该输入结构吗?我是否在头文件中定义结构并在每个c ++源文件中包含该头?我是否需要头文件中的#ifndef宏?我是否在标题中声明结构extern?

c++ global structure file extern

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

C中结构的指针

当我尝试编译下面的代码时,我收到一个警告:第18行从没有强制转换的指针生成整数,并且19和20在赋值时是不兼容的类型.我是C语言中的新结构,似乎无法弄清楚出了什么问题.

#include <stdio.h>

struct song
{       char title[70];
};

struct playlist
{       struct song songs[100];
};

void title_sort(struct playlist * list,int len)
{       int swapped = 1,i;
        char hold;
        while (swapped)
        {       swapped = 0;
                for (i = 0;i < len - 1; i++)
                {       if (list->songs[i].title > list->songs[i+1].title)
                        {       hold = list->songs[i].title;
                                list->songs[i].title = list->songs[i+1].title;
                                list->songs[i+1].title = hold;
                                swapped = 1;
                        }
                }
        }
}

int main()
{       struct playlist playlist;
        int i;
        for (i = 0;i < 5;i++) …
Run Code Online (Sandbox Code Playgroud)

c pointers structure

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

C中更大或更小的结构

我在C程序中有两个结构:SmallStructABC和BigStructXYZ

我有两个成员; SmallStructABC的所有10个成员与BigStructXYZ的前10个成员完全相同.BigStructXYZ还有50名成员.

可以将这两个结构相互转换成型吗?

SmallStructABC *i = (BigStructXYZ*)j;
BigStructXYZ   *a = (SmallStructABC*)b; 
Run Code Online (Sandbox Code Playgroud)

我只能在打字后访问前10个(普通)成员.

我写了C程序,它在我的机器上工作正常.只是想验证我是否需要处理任何极端情况(对齐,无效读取,非gcc编译等).

编辑:问:为什么我想做这样的事情?

答:BigStructXYZ的大小非常大(比如说50KB)并且包含一些标题(键,地图等).我在通过网络发送之前压缩这些数据.我保留标题(在我们的例子中是SmallStructABC).通过类型转换,我可以在需要时从头文件中访问这些键.

c casting structure

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

当我尝试使用我的结构时,为什么会出现错误?

我有一个结构在Header文件中定义我正在使用的类,我试图在类的其中一个方法中使用Struct.看起来基本上是这样的:

struct example
{
     double a;
     int b;
     ...
};
Run Code Online (Sandbox Code Playgroud)

在我的类定义上面的标题中,然后在cpp文件中,我有:

void exampleclass::test(){

    struct example *teststruct;
    teststruct->a = 0; //This line causes a access violation

}
Run Code Online (Sandbox Code Playgroud)

为什么我在这里收到错误?我确定我在这里做了一些完全错误的事情,我必须说我是一个巨大的结构新秀.

c++ structure

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

Eclipse IDE项目目录结构帮助[Java]

我一直在学习Java,并且对于多个.java文件位于同一默认包中的项目没有任何问题.我现在正在尝试分离代码并为图像创建文件夹,但我尝试过的所有内容都失败了.

如何正确添加图像和其他类的文件夹,并正确设置它的路径?所有路径都应该与项目相关,我知道的很多; _;

这是我的IDE图片的链接和程序输出的错误消息:

http://img262.imageshack.us/img262/8415/directory.png

谢谢!!

java eclipse ide directory structure

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

在VB.NET中保存结构数组的最佳方法是什么?

我有2个结构

Public Structure One                    
        Public ItemOne As String
        Public ItemTwo As Integer
    End Structure

    Public Structure Two                   
        Public ItemOne As String
        Public ItemTwo As Integer
        Public ItemThree As Integer
        Public ItemFour As Integer
        Public ItemFive As Integer
    End Structure

Public TestOne(0) as One
Public TestTwo(19) as Two
Run Code Online (Sandbox Code Playgroud)

使用FileOpen,FilePut和FileClose方法,我收到一个错误:(作为示例,仅限于相关代码)

    Public Sub WriteOne()
                FileOpen(1, "One.dat", OpenMode.Random, OpenAccess.Write)
                FilePut(1, TestOne)
                FileClose(1)
    End Sub

    Public Sub ReadOne()
                FileOpen(1, "One.dat", OpenMode.Random, OpenAccess.Read)
                FileGet(1, TestOne)
                FileClose(1)
    End Sub

    Public Sub WriteTwo()
                FileOpen(1, "Two.dat", OpenMode.Random, OpenAccess.Write)
                FilePut(1, …
Run Code Online (Sandbox Code Playgroud)

vb.net arrays file-io structure

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

C中赋值的类型不兼容

我在c中的指针和结构有点问题.

struct foo{
char a[15];
}

void asn_foo(struct foo *pa){
    (*pa).a = "123";
}

main()
{
    struct foo foo1[2], *pf;
    pf = &(foo1[0]);
    asn_foo(pf);
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试通过以下方式分配新值:

(*pa).a = "123";
Run Code Online (Sandbox Code Playgroud)

但是我在这一行上有错误"赋值不兼容".我究竟做错了什么?

c pointers structure function

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

指向结构的指针是如何工作的?

我知道变量的指针.

int  x = 10;
int *ptr = &x;
Run Code Online (Sandbox Code Playgroud)

在这些表达中涉及三件事:

  1. x占用2字节的内存bcos是一个整数.

  2. ptr也需要2个字节.

  3. 如果x的内存地址为1004,那么ptr将存储1004.

在这个例子中,每当我们在程序中使用*ptr时,它给出了一个存储在内存地址的值 - 1004

但结构会发生什么?我们举个例子:

struct book {
int a;
int b;
}
struct book str1, str2;
struct book *ptr = &str1;
Run Code Online (Sandbox Code Playgroud)

关于这个例子我有三个问题:

1)ptr如何保存str1的完整地址?

2)什么差异.变量指针和内存中完整结构的指针之间?

3)ptr需要多少字节?

4)做ptr有会员吗?如果它有成员那么会有什么类型的成员?(指针或变量)

还有一件事 - 用类的对象代替它

c++ structure

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

在C中使用malloc和struct

所以,这是我的代码:

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

struct person{
    char name[18];
   int age;
   float weight;
};

int main()
{
    struct person *personPtr=NULL, person1, person2;
    personPtr=(struct person*)malloc(sizeof*(struct person));
    assert (personPtr!=NULL);
    personPtr = &person1;                   // Referencing pointer to memory address of person1

    strcpy (person2.name, "Antony");                //chose a name for the second person
    person2.age=22;                                 //The age of the second person
    person2.weight=21.5;                                //The weight of the second person


    printf("Enter a name: ");               
    personPtr.name=getchar();                   //Here we chose a name for the first person …
Run Code Online (Sandbox Code Playgroud)

c pointers structure

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

将结构传递给函数

所以我在编译这个程序时遇到了问题,我只是无法让它工作,我的意思是如果我把inputstudent()代码放在里面main(),那就容易了,但我必须将代码放在一个函数中,inputstudent()并从中调用这个main().我知道这听起来很容易,但我无法理解.

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

struct student
{
    char surname[50];
    int age;
    char oname[50];
    char address[50];
};
void displaystudent();
void inputstudent();

int main(){
    struct student s;
    inputstudent(s);
    displaystudent(s);

    return 0;
}
void inputstudent(struct student s){
    printf("Enter the surname: ");
    scanf("%s",s.surname);
    printf("Enter the other name: ");
    scanf("%s",s.oname);
    printf("Enter the age: ");
    scanf("%d",&s.age);
    printf("Enter the address: ");
    scanf("%s",s.address);    
}
void displaystudent(struct student s)
{
    printf("Surname: %s \n",s.surname);
    printf("Oname: %s \n",s.oname);
    printf("Age: %d \n",s.age);
    printf("Address: …
Run Code Online (Sandbox Code Playgroud)

c structure function

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

标签 统计

structure ×10

c ×5

c++ ×3

pointers ×3

function ×2

arrays ×1

casting ×1

directory ×1

eclipse ×1

extern ×1

file ×1

file-io ×1

global ×1

ide ×1

java ×1

vb.net ×1