让我脑壳晕的问题 大家帮帮忙~
#include <iostream>
using std::cout;
using std::endl;
#include <iomanip>
using std::setw;
void selectionSort( int * const, const int );
void swap( int * const, int * const );
int main()
{
const int arraySize = 10;
int a[ arraySize ] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
cout << "Data items in original order\n";
for ( int i = 0; i < arraySize; i++ )
cout << setw( 4 ) << a[ i ];
selectionSort( a, arraySize ); // sort the array
cout << "\nData items in ascending order\n";
for ( int j = 0; j < arraySize; j++ )
cout << setw( 4 ) << a[ j ];
cout << endl;
return 0;
}
void selectionSort( int * const array, const int size )
{
int smallest;
for ( int i = 0; i < size - 1; i++ )
{
smallest = i;
for ( int index = i + 1; index < size; index++ )
if ( array[ index ] < array[ smallest ] )
smallest = index;
swap( &array[ i ], &array[ smallest ] );
}
}
void swap( int * const element1Ptr, int * const element2Ptr )
{
int hold = *element1Ptr;
*element1Ptr = *element2Ptr;
*element2Ptr = hold;
}
既然单个的数组元素是按值传递的 那上面的红色部分为什么不可以直接传递数组的值啊 而要传递地址
C++既然对函数间的信息是隐藏的 那为什么可以
int main()
{int a
display(a)}
void display(int b)
{ }
这里的a主调函数声明的 那又怎么可以传递 我是新手 脑壳晕 ~:)