Meinews.de  


Zurück   Meinews.de > Forum > Newsgroups de.comp.lang.* Forum > Newsgroup de.comp.lang.c
Registrieren FAQ Benutzerliste Kalender Suchen Heutige Beiträge Alle Foren als gelesen markieren

Newsgroup de.comp.lang.c Die Programmiersprache C (ISO, ANSI, K&R).

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 11-06-2009, 02:59 PM
Ernst Bamann
 
Beiträge: n/a
Standard Operatoren in C

Hallo allerseits,
1) In C gibt es zwar den unären cast-Operator ()
Es gibt aber auch die Klammerung mit (), um in einem Ausdruck wie z.B:
(a+b)*c
zu veranlassen, dass a+b zuerst berechnet wird.
Ist diese Klammer () auch ein Operator?
Welche Stelligkeit hat er ?
unär, binär oder tenär

2)
Sind
->
[]
..

auch Operatoren.
Welche Stelligkeit haben sie

3)
Gibt es im Internet eine Tabelle in der die Operatoren mit ihrer
Stelligkeit, Priorität und Assoziativität erklärt werden und als
Tabelle kostenlos downgeloadet werden können?

mfg
Ernst

Mit Zitat antworten
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Meinews.de
Standard Sponsored Links

  #2  
Alt 11-06-2009, 03:37 PM
Claus Reibenstein
 
Beiträge: n/a
Standard Re: Operatoren in C

Ernst Bamann schrieb:

> 1) In C gibt es zwar den unären cast-Operator ()
> Es gibt aber auch die Klammerung mit (), um in einem Ausdruck wie z.B:


Es gibt auch noch die Parameter- bzw. Argumentliste bei Funktionen.

> Ist diese Klammer () auch ein Operator?


Nein.

> Sind
> ->
> []
> ..
>
> auch Operatoren.


War das jetzt eine Frage oder eine Feststellung? Wie auch immer: -> und
[] sind (binäre) Operatoren, und .. gibt es nicht.

> Gibt es im Internet eine Tabelle in der die Operatoren mit ihrer
> Stelligkeit, Priorität und Assoziativität erklärt werden und als
> Tabelle kostenlos downgeloadet werden können?


Mehrere. Google einfach mal nach "C Operatoren Tabelle" und suche Dir
eine aus.

Gruß. Claus
Mit Zitat antworten
  #3  
Alt 11-06-2009, 04:29 PM
Stefan Ram
 
Beiträge: n/a
Standard Re: Operatoren in C

Ernst Bamann <carlox*web.de> writes:
>Ist diese Klammer () auch ein Operator?


Man kann an Hand von ISO/IEC 9899:1999 (E) nicht belegen,
daß in der primary expression der Form »( expression )« ein
Operator vorkommt. Allerdings könnte man trotzdem diese
Auffassung vertreten.

>Welche Stelligkeit hat er ?


Wenn man die Klammern als Operator ansehen will, dann sollte
die Arität 1 sein.

>2)
>Sind
>->
>[]
>.
>auch Operatoren.


Hier kann man an Hand von ISO/IEC 9899:1999 (E) auf Grund
der Überschrift des Abschnitts belegen, daß es Operatoren
sind: »6.5.2 Postfix operators«.

>Welche Stelligkeit haben sie


Diese wird in ISO/IEC 9899:1999 (E) nicht explizit genannt,
aber unter Zugrundelegung des allgemeinen Sprachgebrauchs: 2.

>Gibt es im Internet eine Tabelle in der die Operatoren mit ihrer
>Stelligkeit, Priorität und Assoziativität erklärt werden und als
>Tabelle kostenlos downgeloadet werden können?


Es gibt solche Tabellen, darunter ist aber keine, die von
ISO/IEC 9899:1999 (E) anerkannt wird.

Siehe auch:

http://www.purl.org/stefan_ram/pub/formal_operator_de

Mit Zitat antworten
  #4  
Alt 11-06-2009, 05:17 PM
Rainer Weikusat
 
Beiträge: n/a
Standard Re: Operatoren in C

ram*zedat.fu-berlin.de (Stefan Ram) writes:
> Ernst Bamann <carlox*web.de> writes:
>>Ist diese Klammer () auch ein Operator?

>
> Man kann an Hand von ISO/IEC 9899:1999 (E) nicht belegen,
> daß in der primary expression der Form »( expression )« ein
> Operator vorkommt. Allerdings könnte man trotzdem diese
> Auffassung vertreten.


Lediglich waere sie falsch: Die C-Norm enthaelt eine Liste von
Operatoren und so benutzte Klammern sind nicht aufgefuehrt.

[...]

>>2)
>>Sind
>>->
>>[]
>>.
>>auch Operatoren.

>
> Hier kann man an Hand von ISO/IEC 9899:1999 (E) auf Grund
> der Überschrift des Abschnitts belegen, daß es Operatoren
> sind: »6.5.2 Postfix operators«.
>
>>Welche Stelligkeit haben sie

>
> Diese wird in ISO/IEC 9899:1999 (E) nicht explizit genannt,
> aber unter Zugrundelegung des allgemeinen Sprachgebrauchs: 2.


Es wird explizit gennant, zum einen in der Syntaxdefinition, zum
anderen in den Beschreibungen der Operatoren selber:

6.5.2.1 Array subscripting

Constraints
One of the expressions shall have type ``pointer to object
type'', the other expression shall have integer type, and the
result has type ``type''.


6.5.2.3 Structure and union members

Constraints

The first operand of the . operator shall have a qualified or
unqualified structure or union
[betrifft . und ->]

Weil der Text der C-Norm in 'allgemeiner Sprache' verfasst ist,
bedeutet 'wenn man den allgemeinen Sprachgebrauch zugrunde legt'
nichts anderes als 'wenn man den Inhalt des Norm-Textes nicht
ignoriert'.
Mit Zitat antworten
  #5  
Alt 11-07-2009, 12:26 AM
Claudio Carobolante
 
Beiträge: n/a
Standard Re: Operatoren in C

Claus Reibenstein schrieb:
> Ernst Bamann schrieb:



>> 1) In C gibt es zwar den unären cast-Operator ()
>> Es gibt aber auch die Klammerung mit (), um in einem Ausdruck wie
>> z.B:
>> Ist diese Klammer () auch ein Operator?

>
> Nein.


Echt nicht? Wenn ich 6.5 und 6.5.2 nicht falsch verstehe, sollte die
Klammer ein Operator sein. In 6.5.2 werden die Klammern in einem
Atemzug mit den Operatoren ->, [] und . erwähnt. Warum sollten die
Klammern jetzt kein Operator sein, -> und [] aber schon?

cc
Mit Zitat antworten
  #6  
Alt 11-07-2009, 12:43 AM
Claus Reibenstein
 
Beiträge: n/a
Standard Re: Operatoren in C

Claudio Carobolante schrieb:

> Claus Reibenstein schrieb:
>
>> Ernst Bamann schrieb:
>>
>>> 1) In C gibt es zwar den unären cast-Operator ()
>>> Es gibt aber auch die Klammerung mit (), um in einem Ausdruck wie
>>> z.B:
>>> Ist diese Klammer () auch ein Operator?

>>
>> Nein.

>
> Echt nicht? Wenn ich 6.5 und 6.5.2 nicht falsch verstehe, sollte die
> Klammer ein Operator sein.


Ich sehe weder in 6.5 (Expressions) noch in 6.5.2 (Postfix Operators)
irgendeinen Hinweis auf solche Klammern.

Ich würde es mal mit 6.5.1 (Primary Expressions) versuchen.

> In 6.5.2 werden die Klammern in einem
> Atemzug mit den Operatoren ->, [] und . erwähnt.


Wo denn?

Gruß. Claus
Mit Zitat antworten
  #7  
Alt 11-07-2009, 08:14 AM
Thomas Koller
 
Beiträge: n/a
Standard Re: Operatoren in C

Claudio Carobolante <www*carobolante.net> wrote:
> Claus Reibenstein schrieb:
>> Ernst Bamann schrieb:
>>> 1) In C gibt es zwar den unären cast-Operator ()
>>> Es gibt aber auch die Klammerung mit (), um in einem Ausdruck wie
>>> z.B:
>>> Ist diese Klammer () auch ein Operator?

>>
>> Nein.

>
> Echt nicht? Wenn ich 6.5 und 6.5.2 nicht falsch verstehe, sollte die
> Klammer ein Operator sein.


Eigentlich echt nicht. Möglich dass du es falsch verstehst.

Die Klamer um die es hier geht ist in 6.5.1 beschrieben
"A parenthesized expression is a primary expression."

Und im Gegensatz zu 6.5.2ff ist in 6.5.1 nicht von "Operator"
dir Rede.

> In 6.5.2 werden die Klammern in einem
> Atemzug mit den Operatoren ->, [] und . erwähnt. Warum sollten die
> Klammern jetzt kein Operator sein, -> und [] aber schon?


Verwechselst du eventuell die Klammerung um einen Ausdruck (s.o.) mit dem
Funktionsaufruf in 6.5.2.2?

Wie beim Cast wird da auch eine Klammer verwendet, aber das ist nicht
das was der OP gemeint hat.

Tom
Mit Zitat antworten
  #8  
Alt 11-07-2009, 01:22 PM
Claudio Carobolante
 
Beiträge: n/a
Standard Re: Operatoren in C

Claus Reibenstein schrieb:
> Claudio Carobolante schrieb:
>> Claus Reibenstein schrieb:
>>> Ernst Bamann schrieb:
>>>
>>>> 1) In C gibt es zwar den unären cast-Operator ()
>>>> Es gibt aber auch die Klammerung mit (), um in einem Ausdruck wie
>>>> z.B:
>>>> Ist diese Klammer () auch ein Operator?
>>>
>>> Nein.

>>
>> Echt nicht? Wenn ich 6.5 und 6.5.2 nicht falsch verstehe, sollte
>> die Klammer ein Operator sein.

>
> Ich sehe weder in 6.5 (Expressions) noch in 6.5.2 (Postfix
> Operators) irgendeinen Hinweis auf solche Klammern.
>
> Ich würde es mal mit 6.5.1 (Primary Expressions) versuchen.


Ja, Du hast vollkommen recht und Thomas auch. Entschuldigung, ich
hätte wirklich genauer hinschauen sollen.

cc
Mit Zitat antworten
 
Antwort


Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen
Es ist dir nicht erlaubt, auf Beiträge zu antworten
Es ist dir nicht erlaubt, Anhänge anzufügen
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten

vB Code ist An
Smileys sind An
[IMG] Code ist An
HTML-Code ist Aus

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Problem mit Operatoren Marc Weichhold Newsgroup microsoft.public.de.vc 1 04-03-2009 09:07 AM
Problem mit Operatoren msnews.microsoft.com Newsgroup microsoft.public.de.vc 0 04-03-2009 08:38 AM
Operatoren überladen? Christian Franzen Newsgroup de.comp.lang.php.misc 12 10-14-2007 01:35 PM
Klassenkonstante und Operatoren Gregor Kofler Newsgroup de.comp.lang.php.misc 19 10-14-2007 12:56 PM
Operatoren in der Quantenmechanik Alexander Streltsov Newsgroup de.sci.physik 24 09-24-2007 02:12 PM


Alle Zeitangaben in WEZ. Es ist jetzt 02:09 AM Uhr.





Powered by: vBulletin Version 3.6.7 (Deutsch)
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Forum SEO by Zoints