Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    67

    C- funzioni sulle matrici...perchè indiachiamo una sola dimensione?

    per esempio: se devo scrivere la funzione per leggere da tastiera una matrice l'intestazione è questa:
    void leggi_mat(int m[][100], int righe, int colonne)
    perchè basta indicare una sola dimensione? perchè non funziona se non se ne indica nessuna?

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    perchè una matrice è un puntatore di puntatori in realtà, quindi serve, (al compilatore) sapere quanti puntatori suno puntati dal primo puntatore.. non so se mi sono spiegato bene..

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    67
    Originariamente inviato da Stoicenko
    perchè una matrice è un puntatore di puntatori in realtà, quindi serve, (al compilatore) sapere quanti puntatori suno puntati dal primo puntatore.. non so se mi sono spiegato bene..
    ma anche un vettore è un puntatore e non c'è bisogno di sapere il numero di elementi...

  4. #4
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    432
    Perchè in memoria la matrice viene allocata in modo contiguo percui il numero di colonne è necessario per poter accedere a una riga specifica.

    Esempio:

    La tua matrice è

    int matrice[2][2] = {a,b}, {c,d};

    in memoria abbiamo però a,b,c,d percui per poter raggiungere l'elemento c è necessario che sia ben chiaro quanti da quanti elementi è costituita una riga (che è appunto il numero di colonne). Se non fosse chiaro potrebbe essere una sola riga da 4 elementi!

    Scusa l'esplicazione proprio chiara ma non saprei proprio come esporlo questo concetto

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    67
    Originariamente inviato da r1cky`
    Perchè in memoria la matrice viene allocata in modo contiguo percui il numero di colonne è necessario per poter accedere a una riga specifica.

    Esempio:

    La tua matrice è

    int matrice[2][2] = {a,b}, {c,d};

    in memoria abbiamo però a,b,c,d percui per poter raggiungere l'elemento c è necessario che sia ben chiaro quanti da quanti elementi è costituita una riga (che è appunto il numero di colonne). Se non fosse chiaro potrebbe essere una sola riga da 4 elementi!

    Scusa l'esplicazione proprio chiara ma non saprei proprio come esporlo questo concetto
    ok ok sei stato chiaro...ho capito grazie

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