Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- void printArr(int* arr, int arrSize)
- {
- for (int i{ 0 }; i < arrSize; ++i)
- {
- std::cout << arr[i] << ' ';
- }
- std::cout << '\n';
- }
- //arr
- // 0 1 2 3 4 5 6 7 8 9
- //[1000][2000][3000][4000][5000][6000][7000][8000][9000][A000][Xxxx][xxxx][xxxx][Xxxx]
- // 100 104 108 112 116 120 124 128 132 136 140 144 148 152
- int main()
- {
- int num{ 33 }; //['33''0''0''0']
- const int arrSize{ 10 };
- bool flag{ true };
- int arr[arrSize]{ 1,2,3,4,5,6,7,8,9,10 };// arr => &arr[0]
- const int cArr[arrSize]{};
- bool flags[arrSize]{};
- bool* ptrB{ &flag };
- bool* ptrFlags{ flags };
- double* ptrD;
- int* ptr{ arr }; // arr + 5 = > arr + 5 * sizeof(int) => arr + 5 * 4
- const int* cPtr{ cArr };
- //cArr -> const int* const
- arr += 5; // int* const
- ptr += 5; // int*
- cArr += 5;
- cPtr += 5;
- int x{ 33 };
- int y{ 44 };
- int* ptrI{ &x };
- ptrI = &y;
- int* const cPtrI{ &x };
- cPtrI = &y;
- std::cout << *cPtrI << '\n';
- *cPtrI = 444;
- const int cx{ 333 };
- const int* ptrCI{ &cx };
- ptrCI = &y;
- const int* const zhest{ &cx };
- ptrI = ptrCI;
- ptrCI = ptrI;
- *ptrCI = 5678;
- *ptrI = 789;
- std::cout << *ptrCI << '\n';
- *ptrCI = 678;
- // int* - не константный ук. на не константную память
- // const int* - не константный ук. на константную память
- // const int* const - константный ук. на константную память
- std::cout << ptr[0] << '\n'; //6
- std::cout << *(ptr - 0) << '\n'; //6
- std::cout << ptr[-5] << '\n'; //6 ptr = ptr - 5 * sizeof(int) => 5 * 4
- std::cout << *(ptr-5) << '\n'; //6
- std::cout << ptr[3] << '\n'; //9 ptr = ptr + 3 * sizeof(int)
- std::cout << *(ptr + 3) << '\n'; //9
- return 0;
- //ptr = ptr + 3; // ptr == 135 -> false :) ptr = ptr - 2 * sizeof(type)
- //std::cout << sizeof(int) << '\n';
- //std::cout << sizeof(flag) << '\n';
- //std::cout << sizeof(ptrB) << '\n';
- //std::cout << sizeof(ptrD) << '\n';
- int size{arrSize };
- for (int i{ 0 }; i < size; ++i)
- {
- //*(ptr + i) += 1;
- //ptr[i] += 1;
- std::cout << *(ptr + i) << '\n';
- //std::cout << (ptr[i]) << '\n';
- //std::cout << (arr[i]) << '\n';
- //std::cout << "\n\n";
- }
- // arr[i] <=> *(arr + i)
- // int arr[10] = 100;
- // arr + 2 => arr + 2 * sizeof(int) ==> 100 + 2 * 4 = 108
- return 0;
- std::cout << "&arr[0] =\t" << (&arr[0]) << '\n';
- std::cout << "ptr =\t\t" << ptr << '\n';
- std::cout << "arr =\t\t" << arr << '\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment