Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258

    [c] spiegazione fnz. programma

    codice:
    #include <stdio.h>
    
    void scambia(int **x, int **y);
    
    int main()
    {
      int a=5, b=10;
      int *p, *q;
      p = &a;
      q = &b;
    
    
      printf("a:%d  b:%d \n", *p, *q);
      scambia(&p,&q);
       printf("a:%d  b:%d \n", *p, *q);
    
      getch();
      return 0;
    }
    
    
    void scambia(int **x, int **y){
    int *temp;
    temp = *x;
    *x = *y;
    *y = temp;
    }
    il programma funziona correttamente ma sbaglio l'interpretazione
    mi spiegate perchè è sbagliato il mio ragionamento?
    nella funzione scambia x e p sono puntatori a puntatori di interi
    rispettivamente x punta il puntatore p e y punta il puntatore q
    se io scambio i valori di questi ultimi puntatori(x e y) come viene fatto
    nel programma...non dovrei scambiare fra loro i puntatori a puntatori?
    perchè di fatto scambio i puntatori a interi?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    ahh capito:

    riferirsi cosi:
    *x
    per un puntatore vuol dire far riferimento all'oggetto puntato

    chiedo scusa. :metallica

  3. #3
    :metallica

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.