lenguaje c -> eliminar valor de variable

D

buenas tengo una pequeña duda y esque estoy empezando a programar en c y necesito eliminar el valor q tiene una variable en concreto pero no se hacerlo, si podeis ayudarme os lo agradeceria.

W

variable = 0; ? digo yo xD

HuNtR

variable = null; supongo q asi te valdrá...

D

gracias a ambos, el comando q funciona bien es variable = 0; pero ahora me surge otra duda, para borrar una matriz/vector? como seria?

OhmaK

Depende del tipo de dato en la variable, si es estatica o no. Para vectores tendras q recorrer cada una de sus posiciones.

dr_Rouman

#4 depende. Lo más sencillo es que si declaras

int vector[5];

pues hagas un bucle que recorra eso y vaya poniendo a 0 cada elemento.

int main()
{
int vector[5];
int contador;

for(contador=0;contador<5;contador++)
{
vector[contador]=0;
}

}

Si lo has creado dinámicamente, pues puedes liberar esa memoria con free(), pero claro, ya no tienes variable XD

W

hace mucho que no practico, asi que no me creas al 100%, pero creo que la manera mas facil es hacer un contador y un while

contador = 0;

while(contador < 10) {
variable[contador] = 0;
contador++;
}

Asi puede ser? la verdad, no me acuerdo de nada...

maRc

¿Para qué quieres eliminar el valor de una variable?

D

while(contador < 10)
{
nombre[contador] = 0;
contador = contador + 1;
}

puse eso pero me sale un error q dice: "incompatible types in assingment" y no deja compilar.

la declaracion de la matriz es:

char nombre[NUMERO][LONGITUD];

dr_Rouman

#8 Es evidente, porque le cae MAL xd

ahora que lo pienso, esto no va en desarrollo y diseño...etc etc?

javithelong

while(contador < 10)
{
nombre[contador] = 0;
contador = contador + 1;
}

puse eso pero me sale un error q dice: "incompatible types in assingment" y no deja compilar.

la declaracion de la matriz es:

char nombre[NUMERO][LONGITUD];

esto es una matriz de 2 dimensiones, tendrías que anidar 2 bucles

while (contador1 < MAX_NUMERO){
.... while (contador2 < MAX_LONGITUD){
.............nombre[contador1][contador2]=0;
.............contador2 +=1;
.............}
.... contador1 +=1;
}

Esto suponiendo que 'borrar' (inicializar) una variable de tipo char, sea ponerle el valor 0. El codigo de antes igual te da warning, pero puedes ignorarlo.

SeRiaL_k

#8 claro estas metiendo un dato tipo int en una posicion tipo char
:P

-

En una variable caracter dudo k puedas meter así a pelo los datos. Y menos si es una cadena de caracteres. La diferencia en la declaración es:

char caracter;

char cadena;

Donde i es un número k determina el tamaño de la cadena de caracteres.Las asignaciones para caracteres, y dependiendo del programa que uses suelen ser (al menos en Borland):

caracter = 'X';

cadena = "XXXXXX";

Nótese la clara diferencia entre las comillas simples (') y las comillas dobles ("). Las comillas simples son para un solo caracter, las dobles para más de un caracter.

Si quieres meter sólo un caracter en una variable tipo cadena entonces tendrás k decirle la posición de la cadena en la k kieres guardar dicho caracter:

cadena = 'X';

En irc.hispano hay un canal donde podrán ayudarte expertos y no tan expertos: #programacion

Y este curso es de los mejorcitos para aprender desde 0: http://www.elrincondelc.com/cursoc/cursoc.html

D

#11 thx!! conseguido xD
#13 esa pagina parece interesante :)

gracias a todos por la ayuda.

Usuarios habituales