1 / 4

Vetor de Ponteiros

Vetor de Ponteiros. Exemplo de Alocação. Escrever Vetor de Vetores de floats. int main () { int i, k, n; float **vetor; // vetor de vetores int *tamanho; // vetor com o tamanho de cada um dos vetores printf (&quot;entre com o numero de vetores que deseja processar<br>&quot;); scanf (&quot;%d&quot;, &amp;n);

kareem
Download Presentation

Vetor de Ponteiros

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vetor de Ponteiros Exemplo de Alocação

  2. Escrever Vetor de Vetores de floats intmain() { int i, k, n; float **vetor; // vetor de vetores int *tamanho; // vetor com o tamanho de cada um dos vetores printf("entre com o numero de vetores que deseja processar\n"); scanf("%d", &n); if( n <= 0 ) { printf("erro: numero de vetores < 0\n"); exit(1); } //alocação dinâmica do vetor de tamanhos if( (tamanho = (int*)malloc(n*sizeof(int))) == NULL ) { printf("nao foi possivel alocar memoria para o vetor de tamanhos!!\n"); exit(1); } //alocação dinâmica do vetor de vetores if( (vetor = (float**)malloc(n*sizeof(float*))) == NULL ) { printf("nao foi possivel alocar memoria para o vetor de ponteiros!!\n"); exit(1); }

  3. //Escrevendo cada um dos vetores for( k=0; k<n; k++ ) { printf("entre com o tamanho do vetor %d\n", k+1 ); scanf("%d", &tamanho[k] ); if( tamanho[k] <= 0 ) { printf("erro: numero de elementos do vetor %d < 0\n", k+1 ); exit(1); } // alocação dinâmica de cada um dos vetores de floats if( (vetor[k] = (float*) malloc(tamanho[k]*sizeof(float))) == NULL ) { printf("nao foi possivel alocar memoria para o vetor %d\n", k+1); exit(1); } // entrando com cada um dos elementos de cada vetor for( i=0; i<tamanho[k]; i++ ) { printf("entre com o valor da posicao %d do vetor %d:", i, k+1); scanf("%f", &vetor[k][i] ); } } (...)

  4. //No final, liberação da memória for( k=0; k<n; k++ ) free(vetor[k]); free(vetor); free(tamanho); }

More Related