\begin{slide}{Der Zuweisungs-Operator }


Syntax:
\begin{itemize}
\item
  Algol, Pascal: Zuweisung \verb|:=|, Vergleich \verb|=| 
\item
  Fortran, C, Java: Zuweisung \verb|=|, Vergleich \verb|==| 
\end{itemize}

Semantik der Zuweisung \verb|a = b|:

Ausdrücke links und rechts werden verschieden behandelt:
\begin{itemize}
\item
  bestimme Adresse (lvalue) $p$ von \verb|a|
\item
  bestimme Wert (rvalue) $v$ von \verb|b|
\item
  schreibe $v$ auf $p$
\end{itemize}

\end{slide}

\begin{slide}{Weitere Formen der Zuweisung}

(in C-ähnlichen Sprachen)

\begin{itemize}
\item verkürzte Zuweisung: \verb|a += b|

  entsprechend für andere binäre Operatoren
  \begin{itemize}
  \item lvalue $p$ von $a$ wird bestimmt (nur einmal)
  \item rvalue $v$ von $b$ wird bestimmt
  \item Wert auf Adresse §$p$ wird um $v$ erhöht
  \end{itemize}
\item Inkrement/Dekrement  
  \begin{itemize}
  \item Präfix-Version \verb|++i, --j|:
    Wert ist der geänderte
  \item Suffix-Version \verb|i++, j--|:
    Wert ist der vorherige
  \end{itemize}

\end{itemize}

\end{slide}


%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "~/edu/ws06/pps/folien/pps"
%%% End: 
