Tengo una función main
que tiene un char, que estoy tratando de pasar un puntero a que char
en una función y tienen que cambiar desde A
a B
pero simplemente doesn Parece que no lo cambia. El ejemplo que se muestra aquí es solo el estado actual del código. Probé muchas variaciones diferentes sobre él, por lo que puede haber otros errores allí simplemente por agarrar pajitas.Tener una función de cambiar el valor de un puntero representa en C
int main()
{
char result = 'A';
setChar(&result);
printf("%C", result);
}
void setChar(char* charToChange)
{
charToChange = "B";
}
Utilice las funciones de formato proporcionadas por [Reducción] (http://stackoverflow.com/editing-help) siempre que sea posible, especialmente para los fragmentos de código. La forma más fácil de hacerlo es formatear el código cuidadosamente en un editor externo, copiar y pegar a la pregunta, seleccionar el código y hacer clic en el botón '{}' en la parte superior del cuadro de edición. Esto inserta cuatro espacios al comienzo de cada línea. – RBerteig
Un pensamiento más claro le hubiera permitido encontrar la respuesta usted mismo mucho más rápido. Los punteros no "representan" valores; ellos ** apuntan a ** valores (de ahí el nombre). Desea asignar el valor al que apunta el puntero. Obtiene el valor apuntado al desreferenciar el puntero. Quieres asignar un personaje. Usted especifica un personaje con comillas simples. –
Gracias, entiendo el concepto muy bien, fue la sintaxis que fue el problema. – Nick