Cita de: durasno en 11 Enero 2013, 07:08 AM
No, las variables se pueden declarar en cualquier lado. Incluso se puede hacer algo como:Código (c) [Seleccionar]scanf("%d",&tam);
int arr[tam]; /* fijate que se puede declarar un arreglo en tiempo de ejecucion despues de pedir el tamaño */
En lenguaje C por lo que tengo entendido, no se puede hacer eso. Las arrays has de declararlas con un valor constante.
Para utilizar espacios dinamicos se ha de utilizar, si recuerdo bien, la funcion malloc()
y free() (esta ultima para liberar espacio), que estan dentro de la libreria <stdlib.h>
Volviendo al tema principal:
Cita de: AlexFifa en 11 Enero 2013, 00:06 AM
Pues yo casi siempre he programado en C++ y usaba C para cosas sencillas pero ahora me tope con un error inesperado que sinceramente no entiendo porque, ese mismo codigo lo he compilado como C++ y me funciona de maravilla
Yo uso el Visual Studio 2012 uso codigo nativo, ya aprendi a compilar en modo de consola.Código (c) [Seleccionar]
#include <stdio.h>
int main(void) {
printf("\nHola Mundo!\n\n");
int a;
return 0;
}
Me he fijado que siempre que declaro una variable despues de una llamada a función me lanza ese error:Código (dos) [Seleccionar]
Compilador de optimización de C/C++ de Microsoft (R) version 17.00.50727.1 para x64
(C) Microsoft Corporation. Reservados todos los derechos.
simple.c
simple.c(5) : error C2143: error de sintaxis : falta ';' delante de 'tipo'
Talvez me hace falta escribir algo pero ya repase incontables veces el codigo y a mi parecer esta bien hecho.
Les agradecería mucho si me ayudaran porque no entiendo que es lo que esta pasando
Lo he probado en visual studio 2010 y tampoco me deja. Asi que debe de ser que solo se puede declarar al principio, de todas formas asi es como me enseñaron.