- . . , ; . :
#include <stdio.h>
#include <stdlib.h>
int main()
{
int niz[7] = { 4, 2, 5, 7, 6, 1, 3};
int *nizp[7];
int i;
for (i=0; i<7; ++i)
{
nizp[i] = niz+i;
printf("%p: %d\n", (const void*)(nizp[i]), *(nizp[i]));
}
fputc('\n', stdout);
int swapped = 1;
int n = 7;
while (swapped && n-- > 0)
{
swapped = 0;
for (i=0; i<n; ++i)
{
if (*(nizp[i+1]) < *(nizp[i]))
{
void *tmp = nizp[i+1];
nizp[i+1] = nizp[i];
nizp[i] = tmp;
swapped = 1;
}
}
}
for(i = 0; i < 7; i++)
printf("%p: %d\n", (const void*)(nizp[i]), *(nizp[i]));
fputc('\n', stdout);
for(i = 0; i < 7; i++)
printf("%p: %d\n", (const void*)(niz+i), niz[i]);
fputc('\n', stdout);
return 0;
}
( )
0x7fff5fbff980: 4
0x7fff5fbff984: 2
0x7fff5fbff988: 5
0x7fff5fbff98c: 7
0x7fff5fbff990: 6
0x7fff5fbff994: 1
0x7fff5fbff998: 3
0x7fff5fbff994: 1
0x7fff5fbff984: 2
0x7fff5fbff998: 3
0x7fff5fbff980: 4
0x7fff5fbff988: 5
0x7fff5fbff990: 6
0x7fff5fbff98c: 7
0x7fff5fbff980: 4
0x7fff5fbff984: 2
0x7fff5fbff988: 5
0x7fff5fbff98c: 7
0x7fff5fbff990: 6
0x7fff5fbff994: 1
0x7fff5fbff998: 3