Массивы и указатели – различия

Имя массива – является указателем – константой. Описания:

char string_1[20]= «Язык Си» и

char *string_2 = «Язык Си»;

размещают в памяти соответствующую строку символов. Различие состоит в том, что указатель string_1 является константой, а указатель string_2 – переменной. Это различие проявляется в случае использования операции единичного приращения ++. Эту операцию можно применять только к переменным. Поэтому string_2++ - допустимая конструкция, а string_1++ - запрещенная. Однако и в том и в другом случае можно использовать операции сложения с указателем, т.е.

string_1 + i;

string_2 + i; - допустимые конструкции.

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

char mas_1 [10] = “Яблоко”;

Или определить массив по умолчанию

Char mas_2 [ ] = “Груша”.

Отличие заключается в том, что во втором случае будет выделено ровно столько памяти, сколько необходимо.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: