malloc을 사용하여 생성 된 다른 구조체 내부의 구조체 배열에 malloc을 사용하는 방법

AnvilRunSlay

저는 C를 처음 접했고 다음 구조에 malloc을 사용하는 적절한 방법을 알고 싶습니다.

struct cell {
    struct player* owner;
    int letter;
};

struct board {
    struct cell** matrix;
    int width;
    int height;
};

이 구조는 malloc을 사용하여 생성 된 '보드'구조 안에 있습니다. 충분한 정보가 되었기를 바라며 설명해 주셔서 감사합니다.

S3gfault
struct cell {
    struct player* owner;
    int letter;
};

struct board {
    struct cell** matrix;
    int width;
    int height;
};

//this would work, but memory allocation is slow.
void fillBoard(board *b){
    b->matrix = (struct cell**)malloc(b->width * sizeof(struct cell*));
    for (int i = 0; i < b->height; i++){
        b->matrix[i] = (struct cell*)malloc(sizeof(struct cell));
    }
}

//to limit that you could rewrite it to this.
struct cell {
    struct player* owner;
    int letter;
};

struct board {
    struct cell* matrix;
    int width;
    int height;
};

//this only allocates memory once, so it is faster and it avoids memory fragmentation.
void fillBoard(board *b){
    b->matrix = (struct cell*)malloc(b->width * b->height * sizeof(struct cell));
}

//to access a certain cell, you have to do this (x * width + y)
struct cell *getCell(board *b, int x, int y){
    return &b->matrix[x * b->width + y];
}

편집 : 저는 보통 C로 프로그래밍하지 않습니다. 저는 주로 C ++를 사용하므로 약간의 실수가있을 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

malloc을 사용하여 구조체 배열을 malloc하는 방법

분류에서Dev

C #에서 다른 구조체 내부의 구조체 배열을 PInvoke하는 방법

분류에서Dev

malloc을 사용하여 구조체의 크기를 변경하는 방법

분류에서Dev

구조체 배열을 malloc하는 방법

분류에서Dev

C에서 malloc 및 realloc을 사용하여 구조체 내에서 배열을 올바르게 할당하는 방법은 무엇입니까?

분류에서Dev

malloc을 사용하여 동적 구조체 배열 만들기

분류에서Dev

제네릭을 사용하여 구조체에 대해 다른 이름을 정의하는 방법

분류에서Dev

pyspark를 사용하여 구조체의 중첩 된 열에서 값을 업데이트하는 방법

분류에서Dev

중첩 된 보간 또는 다른 구문을 사용하여 개체 내부에서 개체 배열을 가져 오는 방법

분류에서Dev

thrust :: sort에서 구조체 배열을 사용하는 방법?

분류에서Dev

구조체의 char *에서 malloc을 사용한 분할 오류

분류에서Dev

구조체 배열에 중첩 된 구조체 배열을 정렬하는 방법 C

분류에서Dev

std :: transform을 사용하여 하나의 구조체 배열을 다른 배열로 복사

분류에서Dev

다른 구조체에서 구조체 배열을 초기화하는 방법은 무엇입니까?

분류에서Dev

VB.NET의 구조 내에 생성 된 객체 배열을 초기화하는 방법은 무엇입니까?

분류에서Dev

구조체 이름을 지정하지 않고 구조체 내부에서 구조체에 대한 포인터를 사용하는 방법이 있습니까?

분류에서Dev

문자열을 사용하여 다양한 크기의 배열에 대한 구조체를 디자인하는 방법은 무엇입니까?

분류에서Dev

enum (구조체 내부에 정의 됨)을 사전의 키로 사용하는 방법은 무엇입니까?

분류에서Dev

jackson mixins를 사용하여 구조가 다른 Java 객체에 json을 매핑하는 방법

분류에서Dev

qsort를 사용하여 구조체 배열을 정렬하는 방법

분류에서Dev

구조체 내에서 구조체를 사용하는 방법

분류에서Dev

조건을 사용하여 문자열 배열을 구조체 배열로 변환하는 방법

분류에서Dev

Swift의 다른 구조체에서 한 구조체의 배열을 편집하는 방법은 무엇입니까?

분류에서Dev

다른 구조체에 캡슐화 된 구조체의 데이터 유형을 인쇄하려고합니다.

분류에서Dev

다른 구성에서 Maven 구성 XML 조각을 재사용하는 방법

분류에서Dev

malloc을 사용하여 2 차원 구조 배열 할당

분류에서Dev

C의 구조체에서 malloc을 사용한 후 배열의 기본값은 무엇입니까?

분류에서Dev

구조체의 유효성을 검사하는 관용적 방법

분류에서Dev

중첩 된 C 구조체의 배열을 업데이트하는 올바른 방법은 무엇입니까?

Related 관련 기사

  1. 1

    malloc을 사용하여 구조체 배열을 malloc하는 방법

  2. 2

    C #에서 다른 구조체 내부의 구조체 배열을 PInvoke하는 방법

  3. 3

    malloc을 사용하여 구조체의 크기를 변경하는 방법

  4. 4

    구조체 배열을 malloc하는 방법

  5. 5

    C에서 malloc 및 realloc을 사용하여 구조체 내에서 배열을 올바르게 할당하는 방법은 무엇입니까?

  6. 6

    malloc을 사용하여 동적 구조체 배열 만들기

  7. 7

    제네릭을 사용하여 구조체에 대해 다른 이름을 정의하는 방법

  8. 8

    pyspark를 사용하여 구조체의 중첩 된 열에서 값을 업데이트하는 방법

  9. 9

    중첩 된 보간 또는 다른 구문을 사용하여 개체 내부에서 개체 배열을 가져 오는 방법

  10. 10

    thrust :: sort에서 구조체 배열을 사용하는 방법?

  11. 11

    구조체의 char *에서 malloc을 사용한 분할 오류

  12. 12

    구조체 배열에 중첩 된 구조체 배열을 정렬하는 방법 C

  13. 13

    std :: transform을 사용하여 하나의 구조체 배열을 다른 배열로 복사

  14. 14

    다른 구조체에서 구조체 배열을 초기화하는 방법은 무엇입니까?

  15. 15

    VB.NET의 구조 내에 생성 된 객체 배열을 초기화하는 방법은 무엇입니까?

  16. 16

    구조체 이름을 지정하지 않고 구조체 내부에서 구조체에 대한 포인터를 사용하는 방법이 있습니까?

  17. 17

    문자열을 사용하여 다양한 크기의 배열에 대한 구조체를 디자인하는 방법은 무엇입니까?

  18. 18

    enum (구조체 내부에 정의 됨)을 사전의 키로 사용하는 방법은 무엇입니까?

  19. 19

    jackson mixins를 사용하여 구조가 다른 Java 객체에 json을 매핑하는 방법

  20. 20

    qsort를 사용하여 구조체 배열을 정렬하는 방법

  21. 21

    구조체 내에서 구조체를 사용하는 방법

  22. 22

    조건을 사용하여 문자열 배열을 구조체 배열로 변환하는 방법

  23. 23

    Swift의 다른 구조체에서 한 구조체의 배열을 편집하는 방법은 무엇입니까?

  24. 24

    다른 구조체에 캡슐화 된 구조체의 데이터 유형을 인쇄하려고합니다.

  25. 25

    다른 구성에서 Maven 구성 XML 조각을 재사용하는 방법

  26. 26

    malloc을 사용하여 2 차원 구조 배열 할당

  27. 27

    C의 구조체에서 malloc을 사용한 후 배열의 기본값은 무엇입니까?

  28. 28

    구조체의 유효성을 검사하는 관용적 방법

  29. 29

    중첩 된 C 구조체의 배열을 업데이트하는 올바른 방법은 무엇입니까?

뜨겁다태그

보관