Я имею функцию:Передача строки в качестве аргумента в C
int getparam(char *gotstring)
и я передаю строку в качестве аргумента к нему, как char *sendstring = "benjamin"
Вместо вышеуказанного заявления я могу использовать,
int getparam(char gotstring[])
Вопрос: Какой из них лучше? И если мне нужно использовать int getparam(char gotstring[])
, то каковы все остальные изменения, которые я должен внести в существующую функцию?
С точки зрения того, что на самом деле лучше, я всегда чувствовал, что синтаксис 'char mystring []' как параметр функции действительно вводит в заблуждение. Это исторически вызвало бесконечную путаницу среди неопытных программистов на С, которые ошибочно полагали, что информация о размере массива была сохранена в параметре функции, и что 'sizeof (mystring)' соответственно вернет размер массива, а не только размер указателя , Я лично считаю, что этот синтаксис не должен даже допускаться. –