Можно ли добавить ключевое слово const
в массив, переданный в качестве параметра для функции:
void foo(char arr_arg[])
Если я помещаю const
до char
(void foo(const char arr_arg[])
) или после char
(void foo(char const arr_arg[])
), это будет означать, что он char
, который является константой, а не arr_arg
.
Я просто читал, что под капотом массив, отправленный как параметр функции, представляется как указатель, поэтому void foo(char arr_arg[])
- это так же, как void foo(char* ptr_arg)
.
Принимая это во внимание, я могу переписать функцию как void foo(char * const ptr_arg)
, чтобы это было именно то, что я хочу достичь.
Но я хочу знать, есть ли способ добавить ключевое слово const
в это объявление void foo(char arr_arg[])
, чтобы оно было таким же, как void foo(char * const ptr_arg)
(и не void foo(char const * ptr_arg)
или void foo(const char * ptr_arg)
)?
Я просто хочу понять, есть ли синтаксис для создания константы arr_arg
с записью массива []
.