http://www.image-share.com/ipng-937-224.html
// wskazniki3.cpp by rewertyn: Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
#include <windows.h>
#include <fstream>
#include <time.h> // do funkcji pomiar czasu()
#include <sys/timeb.h> // do funkcji pomiar czasu()
#include <tchar.h>
//http://www.egrafik.pl/kurs-c-plus-plus/8.1.php
//http://www.egrafik.pl/kurs-c-plus-plus/8.3.php
//http://technet.microsoft.com/pl-pl/library/zarzadzanie-pamiecia-w-32-i-64-bitowych-systemach-windows-cz-2.aspx
//http://www.cplusplus.com/reference/iostream/ostream/
//http://en.cppreference.com/w/cpp/keywords/reinterpret_cast
//http://edu.i-lo.tarnow.pl/inf/alg/001_search/0044.php
//http://gpl.ii.us.edu.pl/~romex/c_cxx/c_cxx_w07.pdf
//http://www.kssiz.freehost.pl/ZSZ/ID26_PSIO.pdf
//http://msdn.microsoft.com/en-us/library/bzbx67e8%28v=VS.80%29.aspx
using namespace std;
void funkcjia_1(float &tablica2);
void funkcjia_2(float *tablica3);
void gotoxy(int x, int y);
std::ostream& (__cdecl kol)(void* str,int i);
std::ostream& (__cdecl kol)(char* str,int i);
std::ostream& (__cdecl kol)(int str,int i);
std::ostream& (__cdecl kol2)(double str,int i);
int _tmain(int argc, _TCHAR* argv[])
{
double tablica[4][3]={0};
for(int i=0;i<4;i++){for(int j=0;j<3;j++){tablica[i][j]=i*i*i*1.53/(j+3.0f)+j*j+10.27;}}
for(int i=0;i<4;i++){for(int j=0;j<3;j++){cout.precision(4),cout.width(5),cout<<"w main(): i= "<<i<<" tablica[0][i]= "<<tablica[i][j]<<" &tablica[0][i] "<<&tablica[i][j]<<" "<<endl;}}
cout<<endl;
kol(" tablica[i][j] ",4),kol("| ",2),kol(" &tablica[i][j]",4),kol(" |",2),kol(" &tablica[i]",4),kol(" |",2),kol(" &tablica+i",4)<<endl;
for(int i=0;i<4;i++){for(int j=0;j<3;j++){cout.width(5),kol2(tablica[i][j],3)<<" ";}kol(" ,",2)<<endl;}
cout<<endl;
for(int i=0;i<4;i++){for(int j=0;j<3;j++){cout.width(5),gotoxy(25+j*10,15+i),kol(&tablica[i][j],8)<<" ";}kol(" , ",2)<<endl;}
cout<<endl;
for(int i=0;i<4;i++){for(int j=0;j<1;j++){cout.width(5),gotoxy(57+j*10,15+i),kol(&tablica[i],15)<<" ";}kol(" ,",2)<<endl;}
cout<<endl;
for(int i=0;i<2;i++){for(int j=0;j<1;j++){cout.width(5),gotoxy(72+j*10,15+i),kol(&tablica+i,7)<<" ";}cout<<endl;}
gotoxy(1,20);
kol("sizeof(tablica[i][j])= ",6),kol(sizeof(tablica[0][0]),2),kol(" <-- wielkosc naszej liczby ",7)<<endl;
kol("sizeof(&tablica[i][j])= ",6),kol(sizeof(&tablica[0][0]),2)<<endl;
cout<<endl;
kol("sizeof(*tablica[i])= ",6),kol(sizeof(*tablica[0]),2),kol(" <-- wielkosc naszej liczby ",7)<<endl;
kol("sizeof(&(*tablica[i]))= ",6),kol(sizeof(&(*tablica[0])),2)<<endl;
kol("sizeof(tablica[i])= ",6),kol(sizeof(tablica[0]),2)<<endl;
kol("sizeof(&tablica[i])= ",6),kol(sizeof(&tablica[0]),2)<<endl;
cout<<endl;
kol("sizeof(&(**tablica)+i)= ",6),kol(sizeof(&(**tablica)+0),2)<<endl;
kol("sizeof(*tablica+i)= ",6),kol(sizeof(*tablica+0),2)<<endl;
kol("sizeof(&(*tablica)+i)= ",6),kol(sizeof(&(*tablica)+0),2)<<endl;
kol("sizeof(tablica+i)= ",6),kol(sizeof(tablica+0),2)<<endl;
kol("sizeof(&(tablica)+0)= ",6),kol(sizeof(&(tablica)+0),2)<<endl;
kol("sizeof((&tablica+0))= ",6),kol(sizeof((&tablica+0)),2)<<endl;
cout<<endl;
kol("sizeof(**tablica+i)= ",6),kol(sizeof(**tablica+0),2),kol(" <-- wielkosc naszej liczby ",7)<<endl;
kol("sizeof(*(&(**tablica)+i))= ",6),kol(sizeof(*(&(**tablica)+0)),2),kol("<-- wielkosc naszej liczby ",7)<<endl;
kol("sizeof(*(*tablica+i))= ",6),kol(sizeof(*(*tablica+0)),2),kol(" <-- wielkosc naszej liczby ",7)<<endl;
kol("sizeof(*(&(*tablica)+i))= ",6),kol(sizeof(*(&(*tablica)+0)),2)<<endl;
kol("sizeof(*(tablica+i))= ",6),kol(sizeof(*(tablica+0)),2)<<endl;
kol("sizeof(*(&(tablica)+i))= ",6),kol(sizeof(*(&(tablica)+0)),2)<<endl;
kol("sizeof(*(&tablica+i))= ",6),kol(sizeof(*(&tablica+0)),2)<<endl;
cout<<endl;
kol("sizeof(**tablica+i)= ",6),kol(sizeof(**tablica+0),2),kol(" <-- wielkosc naszej liczby ",7)<<endl;
// kol("sizeof(**tablica+i)= ",6),kol(sizeof(&(**tablica+0)),2),kol(" <-- wielkosc naszej liczby ",7)<<endl;
kol("sizeof(**tablica+i)= ",6),kol(sizeof(&(**tablica)+0),2),kol(" <-- wielkosc naszej liczby ",7)<<endl;
kol("sizeof(*(&(**tablica)+i))= ",6),kol(sizeof(*(&(**tablica)+0)),2),kol("<-- wielkosc naszej liczby ",7)<<endl;
kol("sizeof(*(*tablica+i))= ",6),kol(sizeof(*(*tablica+0)),2),kol(" <-- wielkosc naszej liczby ",7)<<endl;
kol("sizeof(*(&(*tablica)+i))= ",6),kol(sizeof(*(&(*tablica)+0)),2)<<endl;
kol("sizeof(*(tablica+i))= ",6),kol(sizeof(*(tablica+0)),2)<<endl;
kol("sizeof(*(&(tablica)+i))= ",6),kol(sizeof(*(&(tablica)+0)),2)<<endl;
kol("sizeof(*(&tablica+i))= ",6),kol(sizeof(*(&tablica+0)),2)<<endl;
cout<<endl;
int adres_bazowy;
int adres2;
cout<<".........................."<<endl;
system("pause");
//////////////////////////////////////////////////////
kol("(**tablica+0)= ",6),kol2((**tablica+0),8),kol(" //dodawanie liczb ",6)<<endl;
kol("(**tablica+2)= ",6),kol2((**tablica+2),8),kol(" //dodawanie liczb ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&(*(*tablica+0)));
adres2=reinterpret_cast<int>(&(*(*tablica+2)));
kol("*(*tablica+0)= ",6),kol2(*(*tablica+0),8)<<endl;
kol("*(*tablica+2)= ",6),kol2(*(*tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&(**(tablica+0)));
adres2=reinterpret_cast<int>(&(**(tablica+2)));
kol("**(tablica+0)= ",6),kol2(**(tablica+0),8)<<endl;
kol("**(tablica+2)= ",6),kol2(**(tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&*(*tablica+0));
adres2=reinterpret_cast<int>(&*(*tablica+2));
kol("&*(*tablica+0)= ",6),kol(&*(*tablica+0),8)<<endl;
kol("&*(*tablica+2)= ",6),kol(&*(*tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&**(tablica+0));
adres2=reinterpret_cast<int>(&**(tablica+2));
kol("&**(tablica+0)= ",6),kol(&**(tablica+0),8)<<endl;
kol("&**(tablica+2)= ",6),kol(&**(tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((&**tablica+0));
adres2=reinterpret_cast<int>((&**tablica+2));
kol("(&**tablica+0)= ",6),kol((&**tablica+0),8)<<endl;
kol("(&**tablica+2)= ",6),kol((&**tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(*&*(tablica+0));
adres2=reinterpret_cast<int>(*&*(tablica+2));
kol("*&*(tablica+0)= ",6),kol(*&*(tablica+0),8)<<endl;
kol("*&*(tablica+2)= ",6),kol(*&*(tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*&*tablica+0));
adres2=reinterpret_cast<int>((*&*tablica+2));
kol("(*&*tablica+0)= ",6),kol((*&*tablica+0),8)<<endl;
kol("(*&*tablica+2)= ",6),kol((*&*tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(*(&*tablica+0));
adres2=reinterpret_cast<int>(*(&*tablica+2));
kol("*(&*tablica+0)= ",6),kol(*(&*tablica+0),8)<<endl;
kol("*(&*tablica+2)= ",6),kol(*(&*tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((**&tablica+0));
adres2=reinterpret_cast<int>((**&tablica+2));
kol("(**&tablica+0)= ",6),kol((**&tablica+0),8)<<endl;
kol("(**&tablica+2)= ",6),kol((**&tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(*(*&tablica+0));
adres2=reinterpret_cast<int>(*(*&tablica+2));
kol("*(*&tablica+0)= ",6),kol(*(*&tablica+0),8)<<endl;
kol("*(*&tablica+2)= ",6),kol(*(*&tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;;
adres_bazowy=reinterpret_cast<int>(**(&tablica+0));
adres2=reinterpret_cast<int>(**(&tablica+2));
kol("**(&tablica+0)= ",6),kol(**(&tablica+0),8)<<endl;
kol("**(&tablica+2)= ",6),kol(**(&tablica+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl<<endl<<endl;
cout<<".........................."<<endl;
system("pause");
//////////////////////////////////////////////////////
kol("(**tablica)+0= ",6),kol2((**tablica)+0,8),kol(" //dodawanie liczb ",6)<<endl;
kol("(**tablica)+2= ",6),kol2((**tablica)+2,8),kol(" //dodawanie liczb ",6)<<endl<<endl;
kol("*(*tablica)+0= ",6),kol2(*(*tablica)+0,8),kol(" //dodawanie liczb ",6)<<endl;
kol("*(*tablica)+2= ",6),kol2(*(*tablica)+2,8),kol(" //dodawanie liczb ",6)<<endl<<endl;
kol("**(tablica)+0= ",6),kol2(**(tablica)+0,8),kol(" //dodawanie liczb ",6)<<endl;
kol("**(tablica)+2= ",6),kol2(**(tablica)+2,8),kol(" //dodawanie liczb ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&(**tablica)+0);
adres2=reinterpret_cast<int>(&(**tablica)+2);
kol("&(**tablica)+0= ",6),kol(&(**tablica)+0,8)<<endl;
kol("&(**tablica)+2= ",6),kol(&(**tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&*(*tablica)+0);
adres2=reinterpret_cast<int>(&*(*tablica)+2);
kol("&*(*tablica)+0= ",6),kol(&*(*tablica)+0,8)<<endl;
kol("&*(*tablica)+2= ",6),kol(&*(*tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&**(tablica)+0);
adres2=reinterpret_cast<int>(&**(tablica)+2);
kol("&**(tablica)+0= ",6),kol(&**(tablica)+0,8)<<endl;
kol("&**(tablica)+2= ",6),kol(&**(tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((&**tablica)+0);
adres2=reinterpret_cast<int>((&**tablica)+2);
kol("(&**tablica)+0= ",6),kol((&**tablica)+0,8)<<endl;
kol("(&**tablica)+2= ",6),kol((&**tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(*&(*tablica)+0);
adres2=reinterpret_cast<int>(*&(*tablica)+2);
kol("*&(*tablica)+0= ",6),kol(*&(*tablica)+0,8)<<endl;
kol("*&(*tablica)+2= ",6),kol(*&(*tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(*&*(tablica)+0);
adres2=reinterpret_cast<int>(*&*(tablica)+2);
kol("*&*(tablica)+0= ",6),kol(*&*(tablica)+0,8)<<endl;
kol("*&*(tablica)+2= ",6),kol(*&*(tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*&*tablica)+0);
adres2=reinterpret_cast<int>((*&*tablica)+2);
kol("(*&*tablica)+0= ",6),kol((*&*tablica)+0,8)<<endl;
kol("(*&*tablica)+2= ",6),kol((*&*tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(*(&*tablica)+0);
adres2=reinterpret_cast<int>((*&*tablica)+2);
kol("*(&*tablica)+0= ",6),kol(*(&*tablica)+2,8)<<endl;
kol("*(&*tablica)+2= ",6),kol(*(&*tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(**&(tablica)+0);
adres2=reinterpret_cast<int>(**&(tablica)+2);
kol("**&(tablica)+0= ",6),kol(**&(tablica)+0,8)<<endl;
kol("**&(tablica)+2= ",6),kol(**&(tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((**&tablica)+0);
adres2=reinterpret_cast<int>((**&tablica)+2);
kol("(**&tablica)+0= ",6),kol((**&tablica)+0,8)<<endl;
kol("(**&tablica)+2= ",6),kol((**&tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(*(*&tablica)+0);
adres2=reinterpret_cast<int>(*(*&tablica)+2);
kol("*(*&tablica)+0= ",6),kol(*(*&tablica)+0,8)<<endl;
kol("*(*&tablica)+2= ",6),kol(*(*&tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(**(&tablica)+0);
adres2=reinterpret_cast<int>(**&(tablica)+2);
kol("**(&tablica)+0= ",6),kol(**(&tablica)+0,8)<<endl;
kol("**(&tablica)+2= ",6),kol(**(&tablica)+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
cout<<".........................."<<endl;
system("pause");
//////////////////////////////////////////////////////
kol("(*(*tablica))+0= ",6),kol2((*(*tablica))+0,8)<<endl;
kol("(*(*tablica))+2= ",6),kol2((*(*tablica))+2,8),kol(" //dodawanie liczb ",6)<<endl<<endl;
kol("(*(*tablica))+0= ",6),kol2((*(*tablica))+0,8)<<endl;
kol("(*(*tablica))+2= ",6),kol2((*(*tablica))+2,8),kol(" //dodawanie liczb ",6)<<endl<<endl;
kol("(**(tablica))+0= ",6),kol2((**(tablica))+0,8)<<endl;
kol("(**(tablica))+2= ",6),kol2((**(tablica))+2,8),kol(" //dodawanie liczb ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&(*(*tablica))+0);
adres2=reinterpret_cast<int>(&(*(*tablica))+2);
kol("&(*(*tablica))+0= ",6),kol(&(*(*tablica))+0,8)<<endl;
kol("&(*(*tablica))+2= ",6),kol(&(*(*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&(*(*tablica))+0);
adres2=reinterpret_cast<int>(&(*(*tablica))+2);
kol("&(*(*tablica))+0= ",6),kol(&(*(*tablica))+0,8)<<endl;
kol("&(*(*tablica))+2= ",6),kol(&(*(*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&(**(tablica))+0);
adres2=reinterpret_cast<int>(&(**(tablica))+2);
kol("&(**(tablica))+0= ",6),kol(&(**(tablica))+0,8)<<endl;
kol("&(**(tablica))+2= ",6),kol(&(**(tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((&*(*tablica))+0);
adres2=reinterpret_cast<int>((&*(*tablica))+2);
kol("(&*(*tablica))+0= ",6),kol((&*(*tablica))+0,8)<<endl;
kol("(&*(*tablica))+2= ",6),kol((&*(*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((&*(*tablica))+0);
adres2=reinterpret_cast<int>((&*(*tablica))+2);
kol("(&*(*tablica))+0= ",6),kol((&*(*tablica))+0,8)<<endl;
kol("(&*(*tablica))+2= ",6),kol((&*(*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((&**(tablica))+0);
adres2=reinterpret_cast<int>((&**(tablica))+2);
kol("(&**(tablica))+0= ",6),kol((&**(tablica))+0,8)<<endl;
kol("(&**(tablica))+2= ",6),kol((&**(tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*&(*tablica))+0);
adres2=reinterpret_cast<int>((*&(*tablica))+2);
kol("(*&(*tablica))+0= ",6),kol((*&(*tablica))+0,8)<<endl;
kol("(*&(*tablica))+2= ",6),kol((*&(*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*&(*tablica))+0);
adres2=reinterpret_cast<int>((*&(*tablica))+2);
kol("(*&(*tablica))+0= ",6),kol((*&(*tablica))+0,8)<<endl;
kol("(*&(*tablica))+2= ",6),kol((*&(*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;;
adres_bazowy=reinterpret_cast<int>((*&*(tablica))+0);
adres2=reinterpret_cast<int>((*&*(tablica))+2);
kol("(*&*(tablica))+0= ",6),kol((*&*(tablica))+0,8)<<endl;
kol("(*&*(tablica))+2= ",6),kol((*&*(tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*(&*tablica))+0);
adres2=reinterpret_cast<int>((*(&*tablica))+2);
kol("(*(&*tablica))+0= ",6),kol((*(&*tablica))+0,8)<<endl;
kol("(*(&*tablica))+2= ",6),kol((*(&*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*(&*tablica))+0);
adres2=reinterpret_cast<int>((*(&*tablica))+2);
kol("(*(&*tablica))+0= ",6),kol((*(&*tablica))+0,8)<<endl;
kol("(*(&*tablica))+2= ",6),kol((*(&*tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*&*(tablica))+0);
adres2=reinterpret_cast<int>((*&*(tablica))+2);
kol("(*&*(tablica))+0= ",6),kol((*&*(tablica))+0,8)<<endl;
kol("(*&*(tablica))+2= ",6),kol((*&*(tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*(*&tablica))+0);
adres2=reinterpret_cast<int>((*(*&tablica))+2);
kol("(*(*&tablica))+0= ",6),kol((*(*&tablica))+0,8)<<endl;
kol("(*(*&tablica))+2= ",6),kol((*(*&tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*(*&tablica))+0);
adres2=reinterpret_cast<int>((*(*&tablica))+2);
kol("(*(*&tablica))+0= ",6),kol((*(*&tablica))+0,8)<<endl;
kol("(*(*&tablica))+2= ",6),kol((*(*&tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((**(&tablica))+0);
adres2=reinterpret_cast<int>((**(&tablica))+2);
kol("(**(&tablica))+0= ",6),kol((**(&tablica))+0,8)<<endl;
kol("(**(&tablica))+2= ",6),kol((**(&tablica))+2,8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
cout<<".........................."<<endl;
system("pause");
////////////////////////////////////////////////////////
kol("(*(*tablica)+0)= ",6),kol2((*(*tablica)+0),8)<<endl;
kol("(*(*tablica)+2)= ",6),kol2((*(*tablica)+2),8),kol(" //dodawanie liczb ",6)<<endl<<endl;
kol("(*(*tablica)+0)= ",6),kol2((*(*tablica)+0),8)<<endl;
kol("(*(*tablica)+2)= ",6),kol2((*(*tablica)+2),8),kol(" //dodawanie liczb ",6)<<endl<<endl;
kol("(**(tablica)+0)= ",6),kol2((**(tablica)+0),8)<<endl;
kol("(**(tablica)+2)= ",6),kol2((**(tablica)+2),8),kol(" //dodawanie liczb ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((&*(*tablica)+0));
adres2=reinterpret_cast<int>((&*(*tablica)+2));
kol("(&*(*tablica)+0)= ",6),kol((&*(*tablica)+0),8)<<endl;
kol("(&*(*tablica)+2)= ",6),kol((&*(*tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((&*(*tablica)+0));
adres2=reinterpret_cast<int>((&*(*tablica)+2));
kol("(&*(*tablica)+0)= ",6),kol((&*(*tablica)+0),8)<<endl;
kol("(&*(*tablica)+2)= ",6),kol((&*(*tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((&**(tablica)+0));
adres2=reinterpret_cast<int>((&**(tablica)+2));
kol("(&**(tablica)+0)= ",6),kol((&**(tablica)+0),8)<<endl;
kol("(&**(tablica)+2)= ",6),kol((&**(tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*&(*tablica)+0));
adres2=reinterpret_cast<int>((*&(*tablica)+2));
kol("(*&(*tablica)+0)= ",6),kol((*&(*tablica)+0),8)<<endl;
kol("(*&(*tablica)+2)= ",6),kol((*&(*tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*&(*tablica)+0));
adres2=reinterpret_cast<int>((*&(*tablica)+2));
kol("(*&(*tablica)+0)= ",6),kol((*&(*tablica)+0),8)<<endl;
kol("(*&(*tablica)+2)= ",6),kol((*&(*tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*&*(tablica)+0));
adres2=reinterpret_cast<int>((*&*(tablica)+2));
kol("(*&*(tablica)+0)= ",6),kol((*&*(tablica)+0),8)<<endl;
kol("(*&*(tablica)+2)= ",6),kol((*&*(tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*(&*tablica)+0));
adres2=reinterpret_cast<int>((*(&*tablica)+2));
kol("(*(&*tablica)+0)= ",6),kol((*(&*tablica)+0),8)<<endl;
kol("(*(&*tablica)+2)= ",6),kol((*(&*tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*(&*tablica)+0));
adres2=reinterpret_cast<int>((*(&*tablica)+2));
kol("(*(&*tablica)+0)= ",6),kol((*(&*tablica)+0),8)<<endl;
kol("(*(&*tablica)+2)= ",6),kol((*(&*tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*&*(tablica)+0));
adres2=reinterpret_cast<int>((*&*(tablica)+2));
kol("(*&*(tablica)+0)= ",6),kol((*&*(tablica)+0),8)<<endl;
kol("(*&*(tablica)+2)= ",6),kol((*&*(tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*(*&tablica)+0));
adres2=reinterpret_cast<int>((*(*&tablica)+2));
kol("(*(*&tablica)+0)= ",6),kol((*(*&tablica)+0),8)<<endl;
kol("(*(*&tablica)+2)= ",6),kol((*(*&tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*(*&tablica)+0));
adres2=reinterpret_cast<int>((*(*&tablica)+2));
kol("(*(*&tablica)+0)= ",6),kol((*(*&tablica)+0),8)<<endl;
kol("(*(*&tablica)+2)= ",6),kol((*(*&tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((**(&tablica)+0));
adres2=reinterpret_cast<int>((**(&tablica)+2));
kol("(**(&tablica)+0)= ",6),kol((**(&tablica)+0),8)<<endl;
kol("(**(&tablica)+2)= ",6),kol((**(&tablica)+2),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
cout<<".........................."<<endl;
system("pause");
////////////////////////////////////////////////////////
kol("(*(*tablica+0))= ",6),kol2(((**tablica+0)),8)<<endl;
kol("(*(*tablica+2))= ",6),kol2(((**tablica+2)),8),kol(" //dodawanie liczb ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&(*(*tablica+0)));
adres2=reinterpret_cast<int>(&(*(*tablica+2)));
kol("(*(*tablica+0))= ",6),kol2((*(*tablica+0)),8)<<endl;
kol("(*(*tablica+2))= ",6),kol2((*(*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&(**(tablica+0)));
adres2=reinterpret_cast<int>(&(**(tablica+2)));
kol("(**(tablica+0))= ",6),kol2((**(tablica+0)),8)<<endl;
kol("(**(tablica+2))= ",6),kol2((**(tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&(*(*tablica+0)));
adres2=reinterpret_cast<int>(&(*(*tablica+2)));
kol("&(*(*tablica+0))= ",6),kol(&(*(*tablica+0)),8)<<endl;
kol("&(*(*tablica+2))= ",6),kol(&(*(*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&(*(*tablica+0)));
adres2=reinterpret_cast<int>(&(*(*tablica+2)));
kol("&(*(*tablica+0))= ",6),kol(&(*(*tablica+0)),8)<<endl;
kol("&(*(*tablica+2))= ",6),kol(&(*(*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>(&(**(tablica+0)));
adres2=reinterpret_cast<int>(&(**(tablica+2)));
kol("&(**(tablica+0))= ",6),kol(&(**(tablica+0)),8)<<endl;
kol("&(**(tablica+2))= ",6),kol(&(**(tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((&*(*tablica+0)));
adres2=reinterpret_cast<int>((&*(*tablica+2)));
kol("(&*(*tablica+0))= ",6),kol((&*(*tablica+0)),8)<<endl;
kol("(&*(*tablica+2))= ",6),kol((&*(*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((&*(*tablica+2)));
adres2=reinterpret_cast<int>((&*(*tablica+2)));
kol("(&*(*tablica+2))= ",6),kol((&*(*tablica+2)),8)<<endl;
kol("(&*(*tablica+2))= ",6),kol((&*(*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((&**(tablica+0)));
adres2=reinterpret_cast<int>((&**(tablica+2)));
kol("(&**(tablica+0))= ",6),kol((&**(tablica+0)),8)<<endl;
kol("(&**(tablica+2))= ",6),kol((&**(tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*&*(tablica+0)));
adres2=reinterpret_cast<int>((*&*(tablica+2)));
kol("(*&*(tablica+0))= ",6),kol((*&*(tablica+0)),8)<<endl;
kol("(*&*(tablica+2))= ",6),kol((*&*(tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*(&*tablica+0)));
adres2=reinterpret_cast<int>((*(&*tablica+2)));
kol("(*(&*tablica+0))= ",6),kol((*(&*tablica+0)),8)<<endl;
kol("(*(&*tablica+2))= ",6),kol((*(&*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*(&*tablica+0)));
adres2=reinterpret_cast<int>((*(&*tablica+2)));
kol("(*(&*tablica+0))= ",6),kol((*(&*tablica+0)),8)<<endl;
kol("(*(&*tablica+2))= ",6),kol((*(&*tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*&*(tablica+0)));
adres2=reinterpret_cast<int>((*&*(tablica+2)));
kol("(*&*(tablica+0))= ",6),kol((*&*(tablica+0)),8)<<endl;
kol("(*&*(tablica+2))= ",6),kol((*&*(tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*(*&tablica+0)));
adres2=reinterpret_cast<int>((*(*&tablica+2)));
kol("(*(*&tablica+0))= ",6),kol((*(*&tablica+0)),8)<<endl;
kol("(*(*&tablica+2))= ",6),kol((*(*&tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((*(*&tablica+0)));
adres2=reinterpret_cast<int>((*(*&tablica+2)));
kol("(*(*&tablica+0))= ",6),kol((*(*&tablica+0)),8)<<endl;
kol("(*(*&tablica+2))= ",6),kol((*(*&tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
adres_bazowy=reinterpret_cast<int>((**(&tablica+0)));
adres2=reinterpret_cast<int>((**(&tablica+2)));
kol("(**(&tablica+0))= ",6),kol((**(&tablica+0)),8)<<endl;
kol("(**(&tablica+2))= ",6),kol((**(&tablica+2)),8),kol(" //przeskok o ",6),kol2(adres2-adres_bazowy,15),kol(" bajtow ",6)<<endl<<endl;
cout<<".......koniec............."<<endl;
system("pause");
return 0;
}// koniec tmain
////////////////////////////////
////////////////////////////////
void gotoxy(int x, int y)
{
COORD c;
c.X = x - 1;
c.Y = y - 1;
SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}
////////////////////////////////
std::ostream& (__cdecl kol)(void* str,int i)
{
HANDLE hConsole;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, i);
return cout<<str;
}
////////////////////////////////
std::ostream& (__cdecl kol)(int str,int i)
{
HANDLE hConsole;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, i);
return cout<<str;
}
////////////////////////////////
std::ostream& (__cdecl kol2)(double str,int i)
{
HANDLE hConsole;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, i);
return cout<<str;
}
////////////////////////////////
std::ostream& (__cdecl kol)(char* str,int i)
{
HANDLE hConsole;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, i);
return cout<<str;
}
////////////////////////////////
using namespace std;
void funkcjia_1(float &tablica2);
void funkcjia_2(float *tablica3);
int _tmain(int argc, _TCHAR* argv[])
{
float tablica[20][4]={0};
for(int i=0;i<20;i++){for(int j=0;j<4;j++){tablica[i][j]=i*i*i*1.53/(j+3.0f)+j*j;}}
for(int i=0;i<20;i++){for(int j=0;j<4;j++){cout.precision(4),cout.width(5),cout<<"w main(): i= "<<i<<" tablica[0][i]= "<<tablica[i][j]<<" &tablica[0][i] "<<&tablica[i][j]<<" "<<endl;}}
system("pause");
int i=0,k=0,n=0;
funkcjia_1(tablica[i][k]);
//lub: funkcjia_1((*(tablica[i]+k)));
//lub: funkcjia_1((*(*(tablica+i)+k)));
//lub: funkcjia_1((*(*tablica+n*i+k)));
system("pause");
//funkcjia_2(&tablica[i][k]);
//lub: funkcjia_2((tablica[i]+k));
//lub: funkcjia_2((*(tablica+i)+k));
//lub: funkcjia_2(*tablica+n*i+k);
for(int i=0;i<20;i++){for(int j=0;j<4;j++){cout.precision(4),cout.width(5),cout<<"w main(): i= "<<i<<" tablica[0][i]= "<<tablica[i][j]<<" &tablica[0][i] "<<&tablica[i][j]<<" "<<endl;}}
system("pause");
return 0;
}// koniec tmain
////////////////////////////////
void funkcjia_1(float &tablica2)
{
for(int i=0;i<20;i++)//tablica 2 wymiarowa:
{
for(int j=0;j<4;j++)//tablica 2 wymiarowa:
{
cout<<"w funkcj_1:["<<i<<"] tablica2= "<<*(&tablica2+i*4+j)<<" &tablica2= "<<&tablica2+i*4+j<<endl;
//cout<<sizeof(&tablica2)<<" "<<sizeof(tablica2)<<endl;
*(&tablica2+i*4+j)=-1000;
cout<<"w funkcji_1:["<<i<<"] tablica2= "<<*(&tablica2+i*4+j)<<" &tablica2= "<<&tablica2+i*4+j<<endl;
}
}
system("pause");
}
////////////////////////////////
void funkcjia_2(float *tablica3)
{
for(int i=0;i<20;i++)//tablica 2 wymiarowa:
{
for(int j=0;j<4;j++)//tablica 2 wymiarowa:
{
cout<<"w funkcj_2:["<<i<<"] *(tablica3+i*4+j)= "<<*(tablica3+i*4+j)<<" tablica3+i*4+j= "<<tablica3+i*4+j<<" &tablica3+i*4+j= "<<&tablica3+i*4+j<<endl;
//cout<<sizeof(*tablica3)<<" "<<sizeof(tablica3)<<" "<<sizeof(&tablica3)<<endl;
*(tablica3+i*4+j)=-4000.0f;
cout<<"w funkcj_2:["<<i<<"] *(tablica3+i*4+j)= "<<*(tablica3+i*4+j)<<" tablica3+i*4+j= "<<tablica3+i*4+j<<" &tablica3+i*4+j= "<<&tablica3+i*4+j<<endl;
}
}
system("pause");
}
////////////////////////////////