数据结构 24/1/20 作业

1、定义一个"简单宏"或宏函数,实现两个数交换

#include 
#include 
#include 
#define A(a,b) do{int t=a;a=b;b=t;printf("%d %d\n",a,b);}while(0)
int main(int argc, const char *argv[])
{
	int a,b;
	scanf("%d%d",&a,&b);
	A(a,b);
	return 0;
}

数据结构 24/1/20 作业_第1张图片

2、定义字符类型指针,指针指向n个连续堆区内存,输入,计算字符串长度

定义函数,实现内存申请

定义函数,计算字符串长度

定义函数释放内存

#include 
#include 
#include 
char *A(int n);
void B(char *p);
char *C(char *p);
int main(int argc, const char *argv[])
{
	int n;
	printf("please enter n:\n");
	scanf("%d",&n);
	char *p=A(n);
	printf("please enter str:\n");
	scanf("%s",p);
	B(p);
	p=C(p);
	return 0;
}
//申请堆区内存
char *A(int n)
{
	char *p=(char*)malloc(sizeof(char)*n);
	if(p==NULL)
		return NULL;
	return p;
}
//计算字符串长度
void B(char *p)
{
	int i;
	for(i=0;*(p+i)!='\0';i++);
	int len=i;
	printf("len=%d\n",len);
}
//释放空间
char *C(char *p)
{
	if(p==NULL)
		return p;
	free(p);
	p=NULL;
	return p;
}

数据结构 24/1/20 作业_第2张图片

3、思维导图

数据结构 24/1/20 作业_第3张图片

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