Реферат: Массивы 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". Поява цього повідомлення є мотивом для пошуку використання неініціалізувати покажчика в програмі.