Sturct day0801

Sturct day0801_第1张图片

 

1.值传递,地址传递,值返回,地址返回

Sturct day0801_第2张图片

 

#include "head.h"

/******************值传递****************/
void swap(int m , int n)
{
int temp;
	 
	temp = m;
	m = n;
	n = temp;

	printf("m = %d, n = %d\n",m, n);
}

/******************值传递****************/
void fun(int *p , int *q)
{
int *temp;
	 
	temp = p;
	p = q;
	q = temp;

	printf("*p = %d, *q = %d\n",*p, *q);
}

/******************地址传递****************/
void gun(int *p , int *q)
{
int temp;
	 
	temp = *p;
	*p = *q;
	*q = temp;

	printf("*p = %d, *q = %d\n",*p, *q);
}

/******************值返回****************/
int hun()
{
	int value = 666;
	return value;
}
/******************地址返回****************/
int *iun()
{
	static int value = 999;   //静态变量虽然在函数体内定义。但是不占函数的内存空间
	return &value;
}

要求在堆区申请6个int类型空间存放6名学生的成绩,分别使用函数实现申请空间、输入学生成绩、输出学生成绩、对学生进行升序排序、释放空间

Sturct day0801_第3张图片

//定义从堆区申请空间的函数,num表示要申请空间的个数
int* memory(int num)
{
	int *p= (int *)malloc(sizeof(int)*num);

	//判断是否申请成功
	if(NULL == p){
		printf("内存申请失败\n");
		return NULL;
	}
	else{
		printf("申请成功\n");
		return p;
	}
}

/*******************************************/

//定义输入函数,ptr表示指向堆区的空间
void input(int *ptr,int len)
{
	if(NULL != ptr){
		//开始输入工作
		for(int i=0; i*(p+j+1)){
				temp = *(p+j);
				*(p+j) = *(p+j+1);
				*(p+j+1) = temp;
			}
		}
	} 
	printf("排序成功\n");
}

/*****************************************/

//排序输出
void out(int *p,int len)
{
	for(int i=0; i

 

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