Как определяется конец массивов, кроме символьного массива? - PullRequest
0 голосов
/ 11 апреля 2020

В C языке программирования '\ 0' указывается конец строки в массиве символов, но когда мы создаем целочисленные массивы или массивы с плавающей запятой или любой другой тип массивов, нулевой символ (\ 0) не включается в конец, тогда мой вопрос, как известен конец целочисленных, float или любого другого типа массивов?

1 Ответ

1 голос
/ 11 апреля 2020

В некоторых определенных c случаях часто используются некоторые соглашения, такие как \0 для конца строки или NULL для конца массива указателей. Но часто такого маркера конца массива нет, и вместо этого вам нужно вести подсчет длины.

Например, если у вас есть массив:

double a[10];

Вы может отслеживать длину, используя марко для ее определения, или вы можете использовать sizeof для ее определения:

(sizeof(a) / sizeof(double))

или:

(sizeof(a) / sizeof(*a))

Обратите внимание, что последняя форма не требует знания типа элементов a.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...