Да, если мы говорим о синтаксисе. Но подумайте об этом:
typedef int MyType[5];
/* Some code, large enough fragment */
int func (MyType var)
{
/* Something that changes */
return 0;
}
Если вы видите только объявление func (), вы можете думать, что оно получает var по значению, поэтому любое изменение внутри функции является локальным. Но, как на самом деле MyType это массив, который изменяет указатель var внутри func ()
Вы можете изменить фактическую переменную вызывающего абонента.
Итак, говоря о понятии, это не то же самое.