История изменений
Исправление ASM, (текущая версия) :
Croco сказал
Я ничего никому не обязан. Используя инструмент, желательно знать, как он устроен; для этого есть, например, книга Кернигана и Ритчи, на которой пишут «ANSI C», что не соответствует действительности: ANSI предполагает использование const, авторы языка с этим так и не смирились.
и далее
С другой стороны, ANSI разрешает сделать вот так:
int f(int x) { /* ... */ } int (*p)(int); /* ... */ p = f; > p(13);
тогда как авторы языка такое никогда не считали приемлемым и всегда в такой ситуации делали
Я открыл книгу, прочитал раздел 22.2 и сделал выводы по второму абзацу, что f это ни что иное, как указатель на функцию. Ну и следовательно делая p=&f вы записываете в p указатель на f который указывает на функцию f. Т.е. «p» это указатель на указатель. КР конкретно в этом вопросе можно понять двояко. Собственно, что должно доказывать, что читать надо стандарты, вместе или без книги КР которая описывает «общие» идеи.
Если я не ответил на ваш вопрос, прошу сформулировать его более чётко, я не пойму что вы хотите выяснить.
Исправление ASM, :
Croco сказал
Я ничего никому не обязан. Используя инструмент, желательно знать, как он устроен; для этого есть, например, книга Кернигана и Ритчи, на которой пишут «ANSI C», что не соответствует действительности: ANSI предполагает использование const, авторы языка с этим так и не смирились.
и далее
С другой стороны, ANSI разрешает сделать вот так:
int f(int x) { /* ... */ } int (*p)(int); /* ... */ p = f; > p(13);
тогда как авторы языка такое никогда не считали приемлемым и всегда в такой ситуации делали
Я открыл книгу, прочитал абзац и сделал выводы по второму абзацу, что f это ни что иное, как указатель на функцию. Ну и следовательно делая p=&f вы записываете в p указатель на f который указывает на функцию f. Т.е. «p» это указатель на указатель. КР конкретно в этом вопросе можно понять двояко. Собственно, что должно доказывать, что читать надо стандарты, вместе или без книги КР которая описывает «общие» идеи.
Если я не ответил на ваш вопрос, прошу сформулировать его более чётко, я не пойму что вы хотите выяснить.
Исходная версия ASM, :
Croco сказал
Я ничего никому не обязан. Используя инструмент, желательно знать, как он устроен; для этого есть, например, книга Кернигана и Ритчи, на которой пишут «ANSI C», что не соответствует действительности: ANSI предполагает использование const, авторы языка с этим так и не смирились.
и далее
С другой стороны, ANSI разрешает сделать вот так:
int f(int x) { /* ... */ } int (*p)(int); /* ... */ p = f; > p(13);
тогда как авторы языка такое никогда не считали приемлемым и всегда в такой ситуации делали
Я открыл книгу, прочитал абзац и сделал выводы по второму абзацу, что f это ни что иное, как указатель на функцию. Ну и следовательно делая p=&f вы записываете в p указатель на f который указывает на функцию f. Т.е. «p» это указатель на указатель. КР конкретно в этом вопросе можно понять двояко. Собственно, что должно доказывать, что читать надо стандарты, вместе или без книги КР которая описывает «общие» идеи.
Если я не ответил на ваш вопрос, прошу сформулировать его более чётко, я не пойму что вы ходите понять.