一维数组在函数中的传递
#include "stdafx.h"
void displayArray(int *p, int n)
{
for (int i = 0; i<n; i++)
{
printf("%d\n", p[i]); // *(p+n)
}
}
void mySwap(int *px, int *py)
{
*px = *px ^ *py;
*py = *px ^ *py;
*px = *px ^ *py;
}
void selectSort(int *p, int n)
{
for (int i = 0; i<n - 1; i++)
{
for (int j = i + 1; j<n; j++)
{
if (p[i]>p[j])
mySwap(&p[i], &p[j]);
}
}
}
//数组在传递过程中,不会作为整体来传递
//三要素,起始址,步长,范围
int _tmain(int argc, _TCHAR* argv[])
{
int a[] = { 10, 9, 3, 1, 0, 11, 33, 90, 34, 65, 322, 666 };
displayArray(a, sizeof(a) / sizeof(a[0]));
selectSort(a, sizeof(a) / sizeof(a[0]));
printf("===============================================\n");
displayArray(a, sizeof(a) / sizeof(a[0]));
return 0;
}