数据结构——宏定义

作业:
1.定义一个"简单宏"或宏函数,实现两个数交换

#include
#include
#include
#define C(x,y) ({int t=x;x=y;y=t;printf("%d %d",x,y);})
int main(int argc, const char *argv[])
{
	int a,b;
	printf("please enter a:");
	scanf("%d",&a);
	printf("please enter b:");
	scanf("%d",&b);
	C(a,b);
	return 0;
}

运行结果

数据结构——宏定义_第1张图片

2、定义字符类型指针,指针指向n个连续堆区内存,输入,计算字符串长度,定义函数,实现内存申请;定义函数,计算字符串长度;定义函数,释放内存

#include
#include
#include
char *creat(int n);
void *input(char *p);
int len(char *p);
char *free_space(char *p);
int main(int argc, const char *argv[])
{
	int n;
	printf("please enter n:");
	scanf("%d",&n);
	char *p=creat(n);
	input(p);
	printf("strlen=%d\n",len(p));
	p=free_space(p);
	return 0;
}
char *creat(int n)
{
	char *p=(char *)malloc(sizeof(char)*n);
	if(NULL==p)
		return NULL;

	return p;
}
void *input(char *p)
{
	printf("please enter str:");
	scanf("%s",p);
}
int len(char *p)
{
	int i=0;
	for(i=0;*(p+i)!='\0';i++);
	return i;
}
char *free_space(char *p)
{
	if(NULL==p)
		return NULL;

	free(p);
	p=NULL;
	return p;
}

数据结构——宏定义_第2张图片

3,思维导图

你可能感兴趣的:(数据结构)