Original von chartus
nein aber ernsthaft ich persönlich mag derartige variablen definitionen per kommataliste mal so rein garnicht - schon allein weil sie das sinnvolle init verhindern...
Wäre jetzt ein Beispiel, was allerdings erst ab ISO C 99 funktioniert. Früher in d.h. ISO C 90 mußte man ja immer erst alle Variablen definieren und konnte sie erst anschließen initialisieren. Daher sind solche Konstrukte wie ich sie vorher angeführt habe, in reinem C Programmen durchaus häufig zu finden.
ansonsten wie - Alex schon schrieb - ist imho der spezielle Fall garnicht definiert...
Die ISO Norm für C definiert diesen Fall sehr wohl, daher ist der Ausdruck legal. Ich kann mir nicht vorstellen, daß das in Objective-C nicht der Fall ist, auch wenn Apple meines Wissens versäumt exakt zu sagen auf welcher C Version Objective-C aufsetzt und eine formale Definition von Objective-C nicht liefert. Mir wäre es ganz Recht, wenn es eine formale Definition der Sprache Objective-C gäbe.
Die eigentliche Triebkraft des Beispiels war es, daß ich persönlich mit Modula-II programmieren lernte. Da gehörte das "ist Zeiger" immer zum Typ und nicht zur Variable. In C ist das nicht der Fall, jedenfalls wenn man den Kommaoperator benutzt. Es ist aber der Fall wenn man ein typedef benutzt. Deshalb sollte man in allen auf C basierenden Sprachen immer Vorsicht walten lassen.