Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- int main()
- {
- const int arrSize{ 10 };
- int arr[arrSize]{1,2,3,4,5,6,7,8,9,10};
- //[****][****][****][****][****][****][****][****][****][****]
- // arr => 100
- // &arr[0] => 100
- // &arr[1] => 104
- // arr + 1 => 100 + 1 => 100 + sizeof(int) * 1 => 100 + 4 * 1 => 104
- // arr + 3 -> 100 + 3 => 100 + sizeof(int) * 3 -> 100 + 4 * 3 => 112
- // &arr[3] => 112 - 2 => 112 - sizeof(int) * 2 -> 112 - 4 * 2 => 104
- std::cout << "arr[0] value:\t" << arr[0] << "\tarr[0] address:\t" << &arr[0] << "\tarr value\t" << arr << '\n';
- int num{ 42 };//[42 0 0 0][? ? ? ?]
- arr[0] = 123;
- // arr -> &arr[0]
- // *arr -> *(&arr[0]) -> *arr -> arr[0]
- // arr + 1 -> &arr[1]
- // *(arr +1) -> arr[1]
- //
- // *( arr + i ) => arr[i]
- // ( arr + i ) => &arr[i]
- int* ptrI{arr};
- ptrI++; // ???
- std::cout << *ptrI << '\n';
- bool* ptrB{};
- double* ptrD{};
- std::cout << "ptrI value:\t" << ptrI << "\t*ptrI:\t" << *ptrI << '\n';
- *ptrI = 456;
- std::cout << "arr[0] value:\t" << arr[0] << "\tarr[0] address:\t" << &arr[0] << "\tarr value\t" << arr << '\n';
- std::cout << "Is pointers equal? " << ((arr + 1) == ptrI) << '\n';
- std::cout << sizeof(int) << ' ' << sizeof(double) << ' ' << sizeof(bool) << '\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement