рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Над указателями можно выполнять следующие операции

Над указателями можно выполнять следующие операции - раздел Программирование, Указатели Указатель –Это Целая Беззнаковая Переменн...

Указатели

Указатель –это целая беззнаковая переменная, содержащая адрес памяти какого-либо объекта программы.Указатель может содержать адрес переменной, массива, структуры, другого указателя, функции.

Указатель может принимать следующие значения:

· адрес ранее определенной переменной, который можно получить с помощью операции &;

· указатель, уже имеющий значение;

· явно заданный адрес памяти с преобразованием типа.

Для обращения (доступа) к объекту, адрес которого содержит указатель, используется операция разыменования *.

Над указателями можно выполнять следующие операции:

· взятие адреса & &ptra;

· определение размера указателя sizeof(ptra);

· разыменование * *ptra;

· преобразование типов (char*)ptra;

· присваивание ptra=&a;

· сложение и вычитание целых чисел ptra+=3; ptra–=2;

· инкремент, декремент ptra++; ptra–-;

· вычитание указателей int n=ptra-ptrb;

· операции отношения == != > >= < <= ptra>ptrb;.

Пример 1. Примеры инициализации указателей

#include <stdio.h>

void main()

{int a=10;

printf("a=%d &a=%p n",a,&a);

Int *ptra=&a; //указатель проиниц. адресом переменной типа а

printf("ptra=%p &ptra=%pn",ptra,&ptra);

Int *ptrb=ptra; //указатель проиниц. значением указателя ptra

printf("ptrb=%p &ptrb=%pn", ptrb,&ptrb);}

int*ptrc=(int*)0xB8000000;//указатель проиниц. явным адресом

printf("ptrc=%p &ptrc=%p",ptrc,&ptrc);

}

Результат: a=___ &a=_________________

Ptra=___________ &ptra=___________

Ptrb=___________ &ptrb=___________

Ptrc=___________ &ptrc=___________

Расположение в памяти переменных представлено на рис.

  Адрес Содержимое
начало сегмента 8ADA:0000  
  . . .  
  8ADA:FFF2  
  8ADA:FFF3  
  8ADA:FFF4  
  8ADA:FFF5  
  8ADA:FFF6  
  8ADA:FFF7  
  8ADA:FFF8  
  8ADA:FFF9  
a 8ADA:FFFA  
  8ADA:FFFB  
  8ADA:FFFC  
  8ADA:0FFD  
адрес a 8ADA:FFFE  
  8ADA:FFFF  

Пример 2. Использование операции разыменования указателей

#include <iostream.h>

void main()

{float f=1.3;

float *pf=&f;

cout<<"pf="<<pf<<" *pf="<<*pf<<endl;

*pf=2.7;

cout<<" f="<<f<<endl;

int a=5;

int *pa=&a;

cout<<"pa="<<pa<<”*pa=”<<*pa<<endl;

}

Результат: pf=0xF9B0 0FFC *pf=_____

F=_____

Pa=0xF9B0 0FFA *pa=______


Пример 3. Использование вычитания указателей типа int

#include <stdio.h>

void main()

{int a=1,b=7,c;

int*pa=&a, *pb=&b, *pc=&c;

printf("pa=%p pb=%p pc=%pn",pa,pb,pc);

printf("pa-pb=%dn",pa-pb);

printf("pa-pc=%dn",pa-pc);

}

Результат: pa=8B04:FFFE pb=8B04:FFFC bc=8B04:FFFA

Pa-pb=__ pa-pc=__

#include <stdio.h> void main() {long al=2L,bl=7L,cl;

Pal-pbl=__ pal-pcl=__

#include <stdio.h> void main() {int a=10,b=20,c=30;

_______ ___ __

_______ ___ __

_______ ___ __


Пример 6. Использование операции многократного разыменования указателя

#include <iostream.h>

void main()

{int i=5;

int *pi=&i;

int **ppi=&pi;

int ***pppi=&ppi;

Cout<<" &i="<<&i<<endl; // &i=0x8f86 010с

Cout<<" &pi="<<&pi<<endl; // &pi=0x8f86 0108

Cout<<" &ppi="<<&ppi<<endl; // &ppi=0x8f86 0104

Cout<<" &pppi="<<&pppi<<endl;// &pppi=0x8f86 0100

Cout<<" pppi="<<pppi<<endl; // pppi=_____________

Cout<<" *pppi="<<pppi<<endl; // *pppi=____________

Cout<<" **pppi="<<pppi<<endl; // **pppi=____________

Cout<<"***pppi="<<pppi<<endl; // ***pppi=___

}

  Адрес Содержимое
адрес указателяpppi 8F86:0100  
адрес указателяppi 8F86:0104  
адрес указателяpi 8F86:0108  
адрес переменнойi 8F86:010c  

Пример 7. Использование операций разыменования, инкремента, декремента и взятия адреса

#include <stdio.h>

void main()

{int a=1,b=2,c=5;

int *ptr=&b;

Printf("&c=%pn",&c); // &c=8ff0:0050

Printf("&b=%pn",&b); // &b=8ff0:0052 //ptr=&b

Printf("&a=%pn",&a); // &a=8ff0:0054

Printf("*&b=%dn",*&b); // *&b=__

Printf("*&++b=%dn",*&++b); // *&++b=__

Printf("*ptr=%dn",*ptr); // *ptr=__

Printf("*ptr++=%dn",*ptr++); // *ptr++=__

printf("*ptr=%dn”,*ptr); // *ptr=__ (*)

Printf("++*ptr=%dn”,++*ptr); // ++*ptr=__

Int m=10,n=20; // &n=8ff0:0060 &m=8ff0:0062

int *pm=&m;

Printf("++*--pm=%dn”,++*--pm); // ++*--pm=__

Указатели и константы Указатель – константа – указатель, значение (хранящийся адрес) которого нельзя… Пример 8.

Имя массива– этоуказатель-константа,значением которого служит адрес нулевого элемента массива.

Пример 11.

#include <stdio.h>

void main()

{int m[]={1,2,3,4},i;

Printf("*m=%d *(m+1)=%dn",*m,*(m+1));// ___________

char str[]="BORLAND C++";

for(i=8;i<11;i++)

Printf("%c",*(str+i)); //________

}

Пример 12

#include <stdio.h>

void main()

{const n=5; float farr[n];

for(int i=0;i<n;i++)

{scanf("%f",&farr[i]);

*(farr+i)=*(farr+i)**(farr+i);

printf("%.3fn",i[farr]);

}

Пример 13.

#include <stdio.h>

void main()

{char st[]="СОНET";

char *pst=&st[2];

Printf("%c%c%cn",pc[0],pc[-1],pc[-2]); // _______

Printf("%c",*pc); // __

Printf("%c",*++pc); // __

Printf("%c",*++pc);} // __

– Конец работы –

Используемые теги: над, указателями, можно, выполнять, следующие, операции0.063

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Над указателями можно выполнять следующие операции

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Понятие вектора. Линейные операции над векторами
Вектором называется направленный отрезок имеющий определенную длину т е отрезок определенной длины у которого одна из ограничивающих его точек... Длина вектора называется его модулем и обозначается символом Модуль вектора... Вектор называется нулевым обозначается если начало и конец его совпадают Нулевой вектор не имеет определенного...

Программируемый интерфейс клавиатуры и индикации предназначен для реализации обмена информацией между микропроцессором и матрицей клавиш датчиков и индикацией и может выполнять следующие функции: ввод информации по прерыванию в микропроцессорную систему с
Программируемый интерфейс клавиатуры и индикации предназначен для реализации обмена информацией между микропроцессором и матрицей клавиш датчиков... Рис... чем информация из каждой части может выдаваться на индикацию независимо После загрузки в КР ВВ управляющих слов...

Множества и операции над ними
Ведение... Множества и операции над ними Основные понятия о множествах Операции над множествами...

Краткий конспект лекций Матрицы и операции над ними
Матрицы и операции над ними... Определение Матрицей называется множество чисел которое составляет...

Какова власть судьбы над делами людей и как можно ей противостоять
И, однако, ради того, чтобы не утратить свободу воли, я предположу, что, может быть, судьба распоряжается лишь половиной всех наших дел, другую же… Этим, я полагаю, сказано достаточно о противостоянии судьбе вообще. Что же… Объясняется это, я полагаю, теми причинами, которые были подробно разобраны выше, а именно тем, что если государь…

Понятие матрицы. Виды матриц. Транспонирование матрицы. Равенство матриц. Алгебраические операции над матрицами: умножение на число, сложение, умножение матриц
Матрицей размера mxn наз ся прямоуг таблица чисел сост из n строк и m столбцов Эл ты м цы числа составл м цу М цы обознач прописными загл б ми... Виды м цы м ца вектор столбец м ца сост из одного столбца... Трансп м цы это смена местами строк и ст в с сох м порядка следования эл тов А исходная А Ат транспонир Если...

Понятие матрицы. Виды матрицы. Транспонирование матрицы. Равенство матриц. Алгебраические операции над матрицами: умножение на число, сложение, умножение матриц.
а Матрицей размера m times n наз прямоугольная таблица сост из m строк и n столбцов... а а а а n... А a a a a n aij m times n aij m times n...

Множества, операции над множествами. Отображения множеств
Множества операции над множествами Отображения множеств... Операции над множествами...

Понятие матрицы. Виды матриц. Транспонирование матрицы. Равенство матриц. Алгебраические операции над матрицами: умножение на число, сложение, умножение матриц
Общая схема исследования функций и построения их графиков... Общая схема исследования функций и построение их графиков Пример...

Существо трудовой теории стоимости можно изложить в следующих основных положениях
Вопрос... Экономические ресурсы фундаментальное понятие экономической теории... Капитал совокупность товаров имущества активов используемых для получения прибыли богатства В более узком смысле это источник дохода в виде...

0.025
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам