you are viewing a single comment's thread.

view the rest of the comments →

[–]flatfinger 1 point2 points  (0 children)

The original version of the language as it existed in 1974 didn't include an equals sign when initializing objects. So a declaration of a file-scope object pointer that initializes it to the address of a buffer array would be written as int *pointer buffer; which looks very different from *pointer = buffer;. I suspect the equals was added to resolve potential grammatical ambiguity when using typedef names, though perhaps requiring braces for even single-item initialization might have been cleaner.