poprawny sposób zmiany wartości wskaźników c
Niestety, kolejne pytanie wskaźnika C .. Mam funkcję func () sortującą tablicę, a następnie największą i najmniejszą liczbę całkowitą. Próbuję umieścić je wewnątrz zmiennych wskaźnikowych w main (), ale wartości są poprawne tylko wewnątrz funkcji func (). Nie rozumiem dlaczego :(
#include <stdio.h>
void func(int arr[], int *s, int *l, int n){
int i = 1;
for(; i < n; i++){
int temp = arr[i];
int n = i;
while( n > 0 && arr[n-1] > temp){
arr[n] = arr[n-1];
n--;
}
arr[n] = temp;
}
l = &arr[n-1];
s = &arr[0];\
printf("%d %d\n",*l,*s);
}
int main(void){
int arr[] = {1,2,9,3,58,21,4};
int *s, *l;
int size = 7;
func(arr,s,l,size);
printf("%d %d\n",*l,*s);
}