NDK04_typedef、union、#define

NDK开发汇总

一 typedef

就是别名,类似java 代理
并没有创建新的数据类型,只是给现有类型创建了别名

typedef int _in;
typedef char * string;
typedef int(*PFI)(char *, char *);
typedef Tnode * Treeptr;
typedef struct Tnode {
	char *word;
	int count;
	Treeptr left;
	Treeptr right;
} BinaryTreeNode;

int fun(char *, char *) {
	return 0;

}

int test4() {
	_in a = 20;
	printf("%d\n", a);

	string str;
	str = (char *)"hello world";

	PFI fp;
	fp = fun;


	char * ch;

	ch = (char *)"hello world";

	BinaryTreeNode* node;
	node = (BinaryTreeNode *)malloc(sizeof(BinaryTreeNode));

	system("pause");
	return 0;
}

二 union 公用体

成员共用一段内存,内存地址一致;最近定义的才有效

union MyUnion {
	int a;
	char b;
	float c;
};

int test4() {
	MyUnion unio;

	unio.a = 10;
	unio.b = 'a';
	unio.c = 1.2f;
	printf("a: %#x, b: %#x, c: %#x\n", &unio.a, &unio.b, &unio.c);
	printf("a: %d, b: %c, c: %f\n", unio.a, unio.b, unio.c);

	system("pause");
	return 0;
}

运行结果:

a: 0x8ff660, b: 0x8ff660, c: 0x8ff660
a: 1067030938, b: ? c: 1.200000

三 Demo

lsn04

发布了269 篇原创文章 · 获赞 123 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/baopengjian/article/details/104735442