LINUX.ORG.RU

История изменений

Исправление Norong, (текущая версия) :

Т.е. если я его использую, как указатель, то тогда выделяем глобальную память, иначе - по ситуации (в зависимости от того, внешний/статический или нет)?

И ещё один вопрос (как-то у меня указатели нелегко идут). Я дошёл до параграфа про аргументы командной строки. Сказано, что argv - указатель на массив строк-аргументов. В качестве примера в параграфе приведена программа echo, которая воспринимает argv как массив символьных указателей. В ней argv объявлен так:

char *argv[]

и обращение к аргументам происходит по argv[a], т.е. всё действительно так, как если argv - массив символьных указателей (массив строк). Но раньше было сказано, что он - указатель на такой массив. Я понимаю, если бы мне сказали, что он - указатель на нулевой элемент массива. Тогда указатель на нулевой элемент массива == это и есть само имя массива, но тут ситуация другая, видимо. Указатель на массив - это указатель на указатель на нулевой элемент? Не мог бы ты помочь мне понять, что здесь происходит?

Исправление Norong, :

Т.е. если я его использую, как указатель, то тогда выделяем глобальную память, иначе - по ситуации (в зависимости от того, внешний/статический или нет)?

И ещё один вопрос (как-то у меня указатели нелегко идут). Я дошёл до параграфа про аргументы командной строки. Сказано, что argv - указатель на массив строк-аргументов. В качестве примера в параграфе приведена программа echo, которая воспринимает argv как массив символьных указателей. В ней argv объявлен так:

char *argv[]

и обращение к аргументам происходит по argv[a], т.е. всё действительно так, как если argv - массив символьных указателей (массив строк). Но раньше было сказано, что он - указатель на такой массив. Я понимаю, если бы мне сказали, что он - указатель на нулевой элемент массива. Тогда указатель на нулевой элемент массива == это и есть само имя массива, но тут ситуация другая. Указатель на массив - это указатель на указатель на нулевой элемент? Не мог бы ты помочь мне понять, что здесь происходит?

Исходная версия Norong, :

Т.е. если я его использую, как указатель, то тогда выделяем глобальную память, иначе - по ситуации (в зависимости от того, внешний/статический или нет)?

И ещё один вопрос (как-то у меня указатели нелегко идут). Я дошёл до параграфа про аргументы командной строки. Сказано, что argv - указатель на массив строк-аргументов. В качестве примера в параграфе приведена программа echo, которая воспринимает argv как массив символьных указателей. В ней argv объявлен так:

char *argv[]

и обращение к аргументам происходит по argv[a], т.е. всё действительно так, как если argv - массив символьных указателей (массив строк). Но раньше было сказано, что он - указатель на такой массив. Я понимаю, если бы мне сказали, что он - указатель на нулевой элемент массива. Тогда указатель на нулевой элемент массива == это и есть само имя массива, но тут ситуация другая. Не мог бы ты помочь мне понять, что здесь происходит?