c++中关于结构的问题??

来源:百度知道 编辑:UC知道 时间:2024/05/10 12:34:10
我是初学者,请高手解释一下这个程序,要详细一点,越详细越好。谢谢
struct card
{
int pips;
char suit;
};
#include <iostream.h>
void assign_value(struct card *,int,char),print_value(struct card *),
extract_value(struct card *,int *,char *);
void main()
{
struct card cards[52];
for(int i=0;i<13;i++)
{
assign_value(cards+i,i+1,'c');
assign_value(cards+i+13,i+1,'d');
assign_value(cards+i+26,i+1,'h');
assign_value(cards+i+39,i+1,'s');
}//这一段解释一下
for(i=0;i<13;i++)
{
print_value(cards+i);
print_value(cards+i+13);
print_value(cards+i+26);
print_value(cards+i+39);
}
cout<<'\n';
}
void assign_value(struct card *c_ptr,int p,char s)
{
c_ptr->pips=p;
c_ptr->suit=s;//这个指针表示什么??
}

struct card //定义结构体
{
//成员变量
int pips;
char suit;
};
#include <iostream.h>
//向前引用。。也就是提前声明
void assign_value(struct card *,int,char),print_value(struct card *),
extract_value(struct card *,int *,char *);
void main()
{
struct card cards[52]; //结构数组
for(int i=0;i<13;i++)
{
//利用for循环给结构体数组cards[]赋值
//assign_value()这个函数是给card结构体成员变量设值
assign_value(cards+i,i+1,'c');
assign_value(cards+i+13,i+1,'d');
assign_value(cards+i+26,i+1,'h');
assign_value(cards+i+39,i+1,'s');
}//这一段解释一下
for(i=0;i<13;i++)
{
print_value(cards+i);
print_value(cards+i+13);
print_value(cards+i+26);
print_value(cards+i+39);
}
cout<<'\n';
}
void assign_value(struct card *c_ptr,int p,char s)
{
c_ptr->pips=p;
c_ptr->suit=s;//这个指针表示什么??
//这是个card结构体指针,通过c_pt