Что означает имя функции в C

Что делает компилятор, когда мы определяем функцию? И является ли имя функции указателем? Или, может быть, это что-то еще.

Хотел бы я знать что-нибудь об именах функций.

Это просто имя (символ) для компилятора и компоновщика. In не будет присутствовать в вашем исполняемом файле\

0___________ 14.02.2023 11:52

Это просто идентификатор. Всякий раз, когда он используется в большинстве выражений, он «распадается» до указателя на функцию, точно так же, как имя массива при использовании в большинстве выражений «распадается» до указателя на первый элемент.

Lundin 14.02.2023 12:00

Я думаю, это хороший вопрос. Мы всегда должны спрашивать себя, что представляют собой вещи, которые мы используем, и интересоваться, как они работают внутри.

Dúthomhas 14.02.2023 13:46
Конечные и Readonly классы в PHP
Конечные и Readonly классы в PHP
В прошлом, когда вы не хотели, чтобы другие классы расширяли определенный класс, вы могли пометить его как final.
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
БЭМ: Конвенция об именовании CSS
БЭМ: Конвенция об именовании CSS
Я часто вижу беспорядочный код CSS, особенно если проект большой. Кроме того, я совершал эту ошибку в профессиональных или личных проектах и...
Революционная веб-разработка ServiceNow
Революционная веб-разработка ServiceNow
В быстро развивающемся мире веб-разработки ServiceNow для достижения успеха крайне важно оставаться на вершине последних тенденций и технологий. По...
Как добавить SEO(Search Engine Optimization) в наше веб-приложение и как это работает?
Как добавить SEO(Search Engine Optimization) в наше веб-приложение и как это работает?
Заголовок веб-страницы играет наиболее важную роль в SEO, он помогает поисковой системе понять, о чем ваш сайт.
Конфигурация Jest в angular
Конфигурация Jest в angular
В этой статье я рассказываю обо всех необходимых шагах, которые нужно выполнить при настройке jest в angular.
1
3
117
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
Что означает имя функции в C

Имя функции обозначает функцию.

Что делает компилятор, когда мы определяем функцию?

Компилятор запоминает имя функции и генерирует код для ее реализации. Он также запоминает информацию из объявления функции, такую ​​как тип возвращаемого значения и типы параметров, если использовалась форма-прототип.

И является ли имя функции указателем? Или, может быть, это что-то еще.

Имя функции обозначает функцию.

Когда имя функции используется в выражении, оно автоматически преобразуется в указатель на функцию, за несколькими исключениями, обсуждаемыми ниже. Кроме того, фактически единственное использование имени функции — это указатель на функцию. Из-за этого программист может думать об имени функции как об указателе, но на самом деле это не указатель.

Тот факт, что оператор вызова функции принимает указатель на функцию, является причиной того, что мы можем использовать указатели для функций, как в double (*p)(double) = sin; printf("sin(.5) = %g.\n", p(.5));.

Как оператор вызова функции получает указатель на функцию? Можете ли вы рассказать мне что-нибудь об этом?

yuangsc 14.02.2023 16:35

Стоит отметить, что параметры функции функционального типа преобразуются в указатели на функции. Это int(int()) эквивалентно int(int(*)())

tstanisl 14.02.2023 18:21

Другие вопросы по теме