您的位置:首页 > 其它

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

2014-05-27 22:36 429 查看

类型定义

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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: