ПредишенСледващото

Линия - За повече информация за тясната връзка между указатели и масиви

Линия - са масиви от символи. По конвенция последния знак на низа трябва да бъде нула знак \ 0. От името на масива всъщност е указател към първия елемент на масива. Променливи от тип низ също могат да бъдат разглеждани като имащи вид знак *. Например, втората променлива при определянето string_array

Тя може да се разглежда като символичен показалка. За ред. представлявана от първата променлива string_pointer. Memory трябва да бъдат разпределени изрично. От друга страна, за string_array масив памет е показалец към него. Имайте предвид, че паметта трябва да бъдат разпределени или запазени за края на функцията линия \ 0.

Това не е необичайно, не само при тълкуването на променливите от тип низ. т.е. масиви от символи като показалка, но при тълкуването на линиите. което също може да се разглежда по два начина - като масиви и указатели като - и всичко това в една програма! Това е особено важно, когато струните се предават като аргументи на функции. Отсрещната страна може да лекува низа като масив от символи, а се нарича функция може да го разгледа като показалка знак. Ако дължината на низ не е постоянен, използването на символни низове, указатели към има определени предимства. Въпреки низове с променлива дължина могат да се реализират с помощта на масиви. такова изпълнение е твърде разточителна по отношение на използването на паметта, както и налага ограничение на максималната дължина на линия. Например, за да се настанят линии с различни дължини могат да бъдат създадени икона масив от указатели. Алтернативно решение с помощта на двумерен масив от символи, обикновено ще използва памет ефективно, тъй като в този случай ще бъде необходимо да се направят редица от колони, равен на броя на знака на ред възможно най-голяма дължина.

Инициализация на масиви и класове на паметта

Ние знаем, че скаларни променливи могат да се инициализират в описанието на вида се използват такива изрази, като например:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!