Реферат: Массивы 2

ch=getche();

printf("\n");

} while (ch<'1' ;! ch>'7');

if (ch=='7') break;

strcpy(s, "dir *."); strcat(s, ext[ch-'0'-1 ]); strcat(s, "/p"); system(s);} }

Тут функція system() - бібліотечна функція, яка примушує опе­раційну систему DOS виконати команду, що є аргументом цієї функ­ції.

Взагалі рядкова константа в мові С асоціюється з адресою початку рядка в пам'яті, тип рядка виходить char* (покажчик на тип char). Тому можливо і активно використовується наступне привласнення:

char *pc;

"рс = Hello, World!";

У мові С можлива також ситуація, коли покажчик вказує на пока­жчик. У цьому випадку опис буде мати наступний вигляд:

int -*'*point;

point має тип покажчик на покажчик на int. Відповідно, щоб набу­ти цілочисельного значення змінною, на яку указьіваеі point, треба у вираженні використати **point.;

Приклад використання:


11

^include <stdio. h>

void m а і n()

{ int i, pi, ppi;

і =7; pi=&i;

p p i = & p i;

printf( "i = %d pi = %p ppi = %p \n", i, pi, ppi);

*pi++;

printf( "i = %d pi = %p ppi = %p \n", i, pi, ppi);

**ppi = 12;

printf( "i = %d pi = %p ppi = %p \n", i, pi, ppi);

}

ІНІЦІАЛІЗАЦІЯ ПОКАЖЧИКІВ

Після того як покажчик був оголошений, але до того, як йому було привласнене якесь значення, покажчик містить невідоме значен­ня. Спроба використати покажчик до привласнення йому якогось зна­чення є неприємною помилкою, оскільки вона може порушити роботу не

тільки вашої програми, але і операційної системи. Навіть якщо цьо­го не сталося, результат роботи програми буде неправильним і знай­ти цю помилку буде досить складно.

Вважають, що покажчик, який вказує в "нікуди", повинен мати значення null, однак і це не робить його "безпечним". Після того, як він попаде в праву або ліву частину оператора привласнення, він знову може стати "небезпечним".

З іншого боку нульовий покажчик можна використати, наприклад, для позначення кінця масиву покажчиків.

Якщо була спроба привласнити яке-небудь значення тому, на що вказує покажчик з нульовим значенням, система видає попередження, що з'являється під час роботи програми (або після закінчення робо­ти програми) "Null pointer assignment". Поява цього повідомлення є мотивом для пошуку використання неініціалізувати покажчика в програмі.

К-во Просмотров: 904
Бесплатно скачать Реферат: Массивы 2