Este operador devuelve el tamaño del tipo del operando en bytes, ya sea un tipo, el nombre de una variable o el tipo de una expresión. El cálculo se produce en tiempo de compilación por lo que devuelve una constante.
La función productoOpuestos calcula el producto de los opuestos a los elementos que están almacenados en el vector pasado por parámetro.
#include <stdlib.h> #include <stdio.h> int productoOpuestos(int *w, int n){ int i, prodopuestos=1; for(i=0;i<n;i++) prodopuestos*=(-1)*w[i]; return prodopuestos; } int main (){ int i, n; printf("Introduzca el tamaño del vector\n"); scanf("%d",&n); /* Se reserva memoria dinámica con malloc para n enteros */ int *v = (int *) malloc(sizeof(int)*n); if(v!=NULL){ for(i=0;i<n;i++) { printf("Introduzca el elemento v[%d] ",i); scanf("%d",&v[i]); } printf("El producto de los opuestos a los elementos de v es %d\n",productoOpuestos(v,n)); free(v); /* Se libera con free la memoria dinámica previamente reservada */ } return 0; }