Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    17

    [C] Allocazione dinamica array e funzioni

    Ho un problema con questo esercizio, siccome sul pdf del professore non è spiegato (e le cose invece spiegate sono scritte malissimo...)

    Definire la seguente funzione:
    int *nuovoArrayInt(int n) che restituisca un array di interi di dimensione n;
    Ho creato la funzione solo che, per vedere se avevo fatto correttamente, volevo provare ad assegnare dei valori all'array e stampare a video. Questo è il codice che ho scritto:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    int *nuovoArrayInt(int n);
    int main(){
        int numero = 5, i=0, array;
        array = *nuovoArrayInt(numero);
        
        for(i=0;i<=numero;i++){
            array[i] = i;
            printf("%d \n", array[i]);
        }
    }
    
    int *nuovoArrayInt(int n){
        return (int*)malloc(n*sizeof(int));
    }
    L'errore che mi restituisce è [Error] invalid types 'int[int]' for array subscript per le righe 9 e 10

    Grazie mille a chi mi aiuterà

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    La funzione nuovoArrayInt deve restituire un puntatore ad int, quindi array deve essere un puntatore ad int.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    17
    Quindi
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    int *nuovoArrayInt(int n);
    int main(){
        int numero = 5, i=0;
        int *array;
        *array = *nuovoArrayInt(numero);
        
    }
    
    int *nuovoArrayInt(int n){
        return (int*)malloc(n*sizeof(int));
    }
    ? Perché facendo così il programma crasha appena lo eseguo

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Direi che devi ripassare come si usano i puntatori ...

    array=nuovoArrayInt(numero);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    17
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Direi che devi ripassare come si usano i puntatori ...

    array=nuovoArrayInt(numero);
    Si, scusami hai ragione!

    Grazie mille

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 © 2025 vBulletin Solutions, Inc. All rights reserved.