C程序设计语言(K&R)学习笔记--8.结构体


类型定义

typedef char * String;

结构体

	struct UserClz {
		int id;
		String name;
		
	};


变量定义:

struct UserClz user ;

成员访问:

	user.id=1;
	user.name="zhangsan";

#include <stdio.h>
void main(){
	typedef char * String;
	struct UserClz {
		int id;
		String name;
		
	};
	struct UserClz user ;
	user.id=1;
	user.name="zhangsan";
	printf("%d\t,%s\n",user.id,user.name);
}


结构体的指针变量

struct UserClz *p ;

访问成员:

*p.id 
p->id

#include <stdio.h>
#include <stdlib.h>
void main(){
	typedef char * String;
	typedef struct UserClz User;
	struct UserClz {
		int id ;
		String name;		
	};
	User *p ;
	p=malloc(sizeof(User));//<span style="font-family: Arial; font-size: 14px; line-height: 26px; orphans: 2; widows: 2;">为指针变量分配安全的地址</span>
	p->id=10;
	p->name="张三";
	printf("%d\t%s\n",p->id,p->name);
}

结构体实现用户与角色关系

类图:



mycommon.h


enum boolean {
			false,
			true
} status,flag;

typedef char * String;
typedef struct UserClz User;
typedef struct RoleClz Role;
typedef struct UserRoleClz UserRole;
struct UserClz {
	int uid;
	String name;
};

struct RoleClz {
	int rid;
	String roleName;
};

struct UserRoleClz {
	int urid;
	User *pu;
	Role *pr;
};



main.h

#include "mycommon.h"
#include <stdlib.h>
#include <stdio.h>
void main(){
	User *pu=malloc(sizeof(User));
	Role *pr=malloc(sizeof(Role));
	UserRole *pur=malloc(sizeof(UserRole));
	
	pu->uid=1;
	pu->name="zhangsan";
	
	pr->rid=2;
	pr->roleName="roleA";

	pur->pu=pu;
	pur->pr=pr;

	printf("%s\t%s",pur->pu->name,pur->pr->roleName);

}


















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值