如何为 c 中的结构内的结构数组赋值?
how do I assign a value to a struct array inside a struct in c?
所以我需要将扫描的值分配给属于cartas
的变量palo
和valor
,这是一个结构,而这个在另一个结构中?
这是我目前得到的结果,我收到错误消息“必须有指向对象的指针类型”:
#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;
}```
提供的代码在回答您的问题时没有任何意义
how do I assign a value to a struct array inside a struct in c?
我将向您解释如何做到这一点。
如果你有一个像
这样声明的对象
t_baraja b1;
然后设置其数据成员数组的数据成员
t_carta cartas[DIM];
您可以通过以下方式
b1.cartas[i].palo; = some_value;
b1.cartas[i]valor = another_value;.
其中 i
是在数据成员数组 cartas
.
中选择元素的索引
所以我需要将扫描的值分配给属于cartas
的变量palo
和valor
,这是一个结构,而这个在另一个结构中?
这是我目前得到的结果,我收到错误消息“必须有指向对象的指针类型”:
#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;
}```
提供的代码在回答您的问题时没有任何意义
how do I assign a value to a struct array inside a struct in c?
我将向您解释如何做到这一点。
如果你有一个像
这样声明的对象t_baraja b1;
然后设置其数据成员数组的数据成员
t_carta cartas[DIM];
您可以通过以下方式
b1.cartas[i].palo; = some_value;
b1.cartas[i]valor = another_value;.
其中 i
是在数据成员数组 cartas
.