It explains to this book and the part where C language is quite detailed.
At that time, because the [matomo] of C language standard did not have the one
The compiler of C language was made based on this KR.
However, the author doesn't recommend you to read KR.
..not reading...
It is the one reason for the reasons for eyes that the explanation is too cramped.
I think that I cannot read that I do not considerably know C language to read this book.
To begin with, it seems not to be thought that the beginner reads the book.
The second reason is to abuse the pointer in the sample program.
For instance, as an example of mounting strcpy (character string copy)
Though the example (Next, the shown sample :) in which it is comprehensible is introduced/* array version */ Void strcpy(char *s, char *t) { int i; i = 0; while ((s[i] = t[i]) != '\0') i++; }
The example of not understanding division is introduced./* pointer version */ Void strcpy(char *s, char *t) { while (*s++ = *t++) ; }
The scene where purposely cramped writing is encouraged to be done is noticeable.
It glances in this, this notation is considerably convenient though it seems to be cramped.
It is necessary to master such an usage from the reason of appearance often by C program.
To remember the program on the third reason by all means because it is convenient and high-speed
A too old-fashioned explanation is performed.
It is a story of faraway times that such a program was high-speed.
By optimizing the compiler now, such a loop program etc.
There are few velocity differentials as long as very irregular writing is not done.
[ Result of verification by assembler ]
Whether it is a pointer version, an array version, and there is a velocity differential when this article is written for the first time or not?
It was assumed it was good because the execution speed of the program that copied a huge character string was measured, and it was the same.
However, be equal at the assembler level or when trying with latest VC(VC2005)
The amount of the code is about a half in the pointer version, and the jump instruction is suppressed only to one.
It turned out that it was a code that was more high-speed than the array version.
In a word, it seems to be able to speed it up by still writing the program with the pointer.
However, I think it is unquestionable excluding the part where it wants to speed up special because of the array.
Recent CPU does complex operation converting, permuting the instruction, and reading ahead.
Because customizing at the assembler level doesn't appear realistically as a velocity differential.
KR certainly : besides in the age without the manual of C language though it was an excellent manual.
It is poisoned, and tend to make a tricky program in the content when you read KR.
Moreover, it is easy to give birth to an extra misunderstanding because it explains strangely to a detailed point.
I think that the author is good when he or she reads that KR is read as a manual as a simple reference.
Still because the full spectrum of C language is explained though KR is a thin book
It is not bad if it carries about as a portable reference.
Moreover, if a cramped explanation of KR is taken in the inverted hand, it is possible to use it also for an own ability check.
You may say that it has the ability of C language to some degree if KR can be understood.