|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2001
Messaggi: 53
|
[C] Array e puntatori
Allora ho questo programma che al momento della compilazione mi dà questo errore:
saxpy.c: In function `main': saxpy.c:45: warning: passing arg 5 of `saxpy' from incompatible pointer type (l'ho segnata in blu) saxpy.c: In function `saxpy': saxpy.c:63: incompatible types in assignment(l'ho segnata in rosso) Lo stesso procedimento funziona se al posto degli array ci sono variabili, quindi cosa c'è di diverso quando si hanno array?? Codice:
#include <stdio.h>
#include <malloc.h>
/* PROTOTIPO FUNZIONE */
void saxpy(float *X, float *Y, float alfa, int n, float *Z);
/* PROGRAMMA CHIAMANTE*/
main()
{
/* DICHIARAZIONE VARIABILI */
float *X, *Y, *Z, alfa;
int i, c, j;
int n;
/* LETTURA ELEMENTI ARRAY */
printf("Inserire il numero di elementi n: ");
scanf("%d",&n);
/* LETTURA ALFA */
printf("Inserire il numero alfa: ");
scanf("%f",&alfa);
/* ALLOCAZIONE DINAMICA DELLA MEMORIA */
if(!(X = (float *)malloc(n*sizeof(float))))
abort();
if(!(Y = (float *)malloc(n*sizeof(float))))
abort();
if(!(Z = (float *)malloc(n*sizeof(float))))
abort();
/* LETTURA ELEMENTI ARRAY X */
printf("\n");
for (i=0; i<=n-1; i++){
printf("Inserire il valore dell'elemento X%d: ", c=i+1);
scanf("%f", &X[i]);
}
/* LETTURA ELEMENTI ARRAY Y */
printf("\n");
for (i=0; i<=n-1; i++){
printf("Inserire il valore dell'elemento Y%d: ", c=i+1);
scanf("%f", &Y[i]);
}
saxpy(X, Y, alfa, n, &Z);
for (i=0; i<=n-1; i++){
printf("%f\n", Z[i]);}
}
/****************** SPECIFICHE FUNZIONE *************************/
void saxpy(float *X, float *Y, float alfa, int n, float *Z)
{
int i;
for (i=0; i<=n-1; i++)
{
X[i] = X[i] + alfa * Y[i];
}
*Z = X;
}
|
|
|
|
|
|
#2 | ||
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Mar 2001
Messaggi: 53
|
scusa non ho capito bene cosa dici, sono molto principiante in C
potresti essere + dettagliato |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Ti ho solo spiegato il perché degli errori...
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Mar 2001
Messaggi: 53
|
risolto grazie
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:18.


















