Wie ändere ich eine variable von einem Typ in einen anderen Typ eines in C?

Möchte ich es tun:

int main () {
  bla bla bla

  void *onetype;

  switch (USER_INPUT_TYPE) {

      CASE CONVERT_TO_CHAR:
          convert onetype VOID TO CHAR >>> HOW???

      CASE CONVERT_TO_INT:
          convert onetype VOID TO INT >>> HOW???

   LOT OF CASES...
   }
}

Ja, ich weiß, Typumwandlung, aber type-casting ist eine 'temporäre' ändern.

So, gibt es eine Möglichkeit zu erreichen, es in C?

EDIT :

Stop Stop stop! Bitte, sehen Sie, was Sie tun, ist eine Art casting, ich WEIß, DAS verwendet wird, erstellen Sie eine weitere variable des wünschenswerten Typ, wie int i = (int) onetype, ich will das nicht, ich will etwas anderes wie onetype = (int) onetype, ohne Sie neu erstellen, ohne Zuweisung einer anderen Variablen.

Vielen Dank Jungs!

  • Wenn Sie nicht wie die Antworten, es klingt wie das, was Sie wirklich wollen, kann nicht getan werden.
  • Ich mochte die Antworten, aber es ist nicht die Antwort, die ich wollte...ich nur legen Sie Sie in der richtigen Art und Weise...sorry wenn sich jemand verletzt fühlt.
  • Sie sagte: "ohne allcat[ing] eine andere variable". Die meisten Compiler mit Optimierungen eingeschaltet würde nicht mehr Speicher oder in Registern, erstellen Sie eine neue variable mit dem gewünschten Typ zu konvertieren, die alte variable (der unerwünschten Art) zu, solange Sie nicht brauchen, um zu halten die alte variable herum, als gut. Der compiler würde, wär die alte variable Toten und wiederverwenden von seinem Speicher oder register (solange es nicht statisch, global, oder auf die verwiesen wird, die durch einen Zeiger). Wenn Sie jemals benutzt einen debugger, und versuchen Sie, überprüfen Sie den Wert einer lokalen Variablen, aber Sie sagt Sie kann nicht, dies ist wahrscheinlich der Grund.
Schreibe einen Kommentar