КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Переменные и их адресаСтр 1 из 3Следующая ⇒ Тема 9. УКАЗАТЕЛИ Указатель – это переменная, содержащая адрес другой переменной, но перед тем, как переходить непосредственно к программированию, рассмотрим пример из жизни. Приглашая друга в гости, мы сообщаем ему адрес своего дома; друг записывает адрес на листок бумаги, и этот листок становится указателем на наш дом. По этому указателю любой человек может найти дом, и нам не нужно показывать другу сам дом, например, «приносить его с собой». Таким образом, указатель – это предмет (листок бумаги), содержащий адрес, по которому можно найти другой предмет (дом). Особую выгоду при использовании указателей можно получить в тех случаях, когда предмет, куда указывает указатель большой в каком-либо смысле.
Теперь постараемся понять, что такое адрес переменной. В памяти компьютера переменные хранятся в ячейках, которые имеют свой адрес, представляющий собой номер этой ячейки; чтобы узнать этот номер следует воспользоваться операцией & (амперсанд):
int m=10, n=20, k=30; float x=12.1, y=45.8, z=67.9; char a='T', b='*', c=';';
printf("-------------------------------\n"); printf("Имя\tЗначение\tАдрес\n"); printf("-------------------------------\n"); printf("%s\t%d\t\t%d\n", "m", m, &m); printf("%s\t%d\t\t%d\n", "n", n, &n); printf("%s\t%d\t\t%d\n", "k", k, &k); printf("%s\t%g\t\t%d\n", "x", x, &x); printf("%s\t%g\t\t%d\n", "y", y, &y); printf("%s\t%g\t\t%d\n", "z", z, &z); printf("%s\t%c\t\t%d\n", "a", a, &a); printf("%s\t%c\t\t%d\n", "b", b, &b); printf("%s\t%c\t\t%d\n", "c", c, &c); printf("-------------------------------\n");
Заметим, что обращаясь к переменной по имени, мы фактически обращаемся к ячейке памяти, названной этим именем. Тем не менее, для обращения к ячейке памяти не обязательно знать ее имя, а достаточно знать ее адрес. Например, чтобы пригласить человека на концерт, можно посоветовать ему прийти в Оперный театр, а можно отправить его по адресу Красный проспект, 36 (это адрес Оперного театра). Таким образом, можно провести следующую аналогию:
|