簡體   English   中英

c - 如何為c中結構內的結構數組賦值?

[英]how do I assign a value to a struct array inside a struct in c?

所以,我需要掃描的值賦給變量palovalor屬於cartas這是一個結構,而這一次是另一種結構里面?

這是我到目前為止所得到的,我收到一個錯誤“必須有指向對象類型的指針”:

#include <stdio.h>
#define DIM 100

typedef struct{
    char palo;
    int  valor;
}t_carta;

typedef struct{
    int ncartas;
    t_carta cartas[DIM];
}t_baraja;

int main(){
    t_baraja b1;
    t_carta carta[DIM][DIM];

    printf("Cuantas cartas tiene su baraja? ");
    scanf("%d", &b1.ncartas);
    printf("Introduzca las cartas separadas por guiones (o4-e10-b1...):\n");
    for(int i=0; i<b1.ncartas; i++){
        scanf("%c%d%*c", &b1.cartas->palo, &b1.cartas->valor);
        b1.cartas[i][i]=b1.cartas->valor;
    }

    return 0;
}```

所提供的代碼沒有任何意義,但回答您的問題

c - 如何為c中結構內的結構數組賦值?

我將解釋你如何做到這一點。

如果你有一個對象聲明如下

t_baraja b1;

然后設置其數據成員數組的數據成員

 t_carta cartas[DIM];

你可以通過以下方式

b1.cartas[i].palo; = some_value;
b1.cartas[i]valor = another_value;.

其中i是在數據成員數組cartas中選擇元素的索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM