Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    26

    [C]Vettori in output di una funzione

    avrei una domandina da fare..se una funzione dà in output un nuovo vettore creato dalla funzione stessa in che modo posso copiarlo in una variabile nel main?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Se hai a disposizione un vettore, non potrai certo copiarlo in una variabile, ma ci vorrà un vettore equivalente ...

    Ma se hai a disposizione già il vettore, perchè copiarlo?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    26
    mi spiego meglio... la funzione effettua delle operazioni su vettori di input e restituisce il risultato con su nuovo vettore... non so come visualizzare il risultato quindi il vettore di output... è possibile farlo? so che sarebbe più semplice memorizzare il risultato su uno dei vettori di input ma vorrei capire se è possibile fare questa operazione...

  4. #4
    Certo che puoi. Alloca la memoria necessaria al tuo vettore di output e ritorna il relativo puntatore:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int* f(int* arr, int size)
    {
    	int* newArr = (int*)malloc(sizeof(int) * size);
    	int i;
    
    	for(i = 0; i < size; i++)
    	{
    		newArr[i] = arr[i] * 2;
    	}
    
    	return newArr;
    }
    
    void print(int* arr, int size)
    {
    	int i;
    
    	for(i = 0; i < size; i++)
    	{
    		printf("%d - ", arr[i]);
    	}
    	printf("\n");
    }
    
    int main()
    {
    	int x[] = {1,2,3};
    	print(x, 3);
    
    	int* newArr = f(x, 3);
    	print(newArr, 3);
    	
    	free(newArr);
    	return 0;
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.