|
||||
Пример 2.Пример 2. Вариант программы на С: //Операции над указателями #include <stdio.h> #include <conio.h> int _main(void) { int a,c,b; int *ca, *cb; int *sa, *sb, *sc; printf("a = ", &a); printf("b = ", &b); c=a+b;
sb=&b;//инициализация указателей через взятие адреса sa=&a; sc =&c; //присваивание указателю значения выражения *sc = c+a-b; ca=sa;//присваивание указателю значения другого указателя cb=sb; *sa=12;//присваивание указателю значения константы
printf("\n*ca = %d",*ca); printf("\n*cb = %d",*cb); printf("\n*sb = %d",*sb); printf("\n*sc = %d",*sc);
printf("\nca = %p",ca); printf("\ncb = %p",cb); printf("\nsc = %p",sc);
printf("\na = %d",a); printf("\nb = %d",b); printf("\nc = %d",c);
printf("\n&a = %p",&a); printf("\n&b = %p",&b); printf("\n&c = %p",&c);
printf("\n*&a = %d",*&a);
printf("\n*cb-*ca = %d", *cb-*ca); printf("\n*cb+*ca = %d", *cb+*ca); *cb+=2; //сложение с константой printf("\ncb = %p", cb); cb++; //инкремент printf("\ncb = %p", cb); ca--; //декремент printf("\ncа = %p", ca); printf("\ncb-ca = %d", cb-ca); _getch(); return 0; } Вариант программы на С++: //Операции над указателями #include "stdafx.h" #include <iostream> using namespace std;
int _tmain(int argc, _TCHAR* argv[]){ int a,c,b; int *ca, *cb; int *sa, *sb, *sc; cout << "a = "; cin >> a; cout << "b = "; cin >> b; c=a+b;
sb=&b;//инициализация указателей через взятие адреса sa=&a; sc =&c; //присваивание указателю значения выражения *sc = c+a-b; ca=sa;//присваивание указателю значения другого указателя cb=sb; *sa=12;//присваивание указателю значения константы
cout << "\n*ca = " << *ca; cout << "\n*sa = " << *sa; cout << "\n*cb = " << *cb; cout << "\n*sb = " << *sb; cout << "\n*sc = " << *sc;
cout << "\nca = " << ca; cout << "\ncb = " << cb; cout << "\nsc = " << sc;
cout << "\na = " << a; cout << "\nb = " << b; cout << "\nc = " << c;
cout << "\n&a = " << &a; cout << "\n&b = " << &b; cout << "\n&c = " << &c;
cout << "\n*&a = " << *&a;
cout << "\n*cb-*ca = " << *cb-*ca; cout << "\n*cb+*ca = " << *cb+*ca; *cb+=2; //сложение с константой cout << "\ncb = " << cb; cb++; //инкремент cout << "\ncb = " << cb; ca--; //декремент cout << "\ncа = " << ca; cout << "\ncb-ca = " << cb-ca; system("pause"); return 0; }
|
||||
|