C的形参和实参,函数的封装

#include<stdio.h>
void printArray(int *a,int num);
void sortArray(int *a, int num);
//数组作函数参数的退回问题 退回为一个指针
//结论:1. 把数组的内存首地址和数组的有效长度传给被调函数
//2. 实参的a 和形参的a 的数据类型本质不同
//3. 形参中的数组,编译器会把它当成指针处理 这是c语言的特点
//4. 形参
//函数的封装
int main(void)
{
int a[] = {12, 23, 45, 89, 0, 2, 355};
int num = sizeof(a)/ sizeof(a[0]);
printArray(a, num);
sortArray(a, num); //分类排序
printArray(a, num);
return 0;
}
//void printArray(int a[],int num)
void printArray(int *a,int num)
{
int i, num1;
num1 = sizeof(a)/ sizeof(a[0]);
printf("num1 = %d\n", num1);
for(i = 0; i < num; i++)
{
printf("%d ", a[i]);
}
printf("\n");

}
//void sortArray(int a[], int num)
void sortArray(int *a, int num)
{
int i, j, temp;
for(i = 0; i < num; i ++)
{
for(j = i+1; j < num; j++)
{
if(a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}数组

相关文章
相关标签/搜索