Concept explainers
Pointer:
Pointer, the name itself references the purpose of the pointer. Pointers point to a location in memory.
- Pointer is a special type of variable to store the address of the memory location, which can be accessed later.
- If an asterisk “*” operator is present before the variable, then that variable is referred as pointer variable.
- It is also called as dereferencing or indirection operator.
- Pointer is just a type of variable that stores the addresses of other variables.
- Using pointers, we can access the address of a variable; the data stored in that variable can be retrieved.
Syntax of pointer variable declaration:
<variable-type> *<variable-name>;
Adding a value to a pointer variable:
When a pointer variable is added it is similar to adding number of time the size of the pointer variable that is stored.
Example:
//declaring a pointer variable
int *a;
//incrementing the pointer value by 1
a++;
In the above snippet the pointer variable is incremented by “1” means, the size of the pointer variable is being increased in terms of their size.
1 * 2 = 2
Therefore, additional 2 bytes will be added to the pointer variable “a” after incrementing it by “1”.
Want to see the full answer?
Check out a sample textbook solutionChapter 9 Solutions
Starting Out with C++ from Control Structures to Objects (9th Edition)
- 16. NULL can be assigned to a void pointer. True O Falsearrow_forwardwrite a single statement that performs the specified task. Assume that long variables value1 and value2 have been declared and value1 has been initialized to 200000 ."Assign the address of variable value1 to pointer variable longPtr .arrow_forwardIn C language, write a program to input two integers x,y and add both the integers using pointers and display the result in the output. The assignment will be rejected if the numbers are added without the use of pointers.arrow_forward
- int *p; where p is a null pointer when:arrow_forwardCreate a program in C language that calculates the month's day from a given year and year's day. Use pointers for the month and month's day variables. Don't forget to add proper errors handling in your program. Example or errors - Invalid Input- Invalid year- Invalid year day Example of input # ./month_day <year> <yearday> # Example for Feb 2nd, 2019:\$ ./month-day 2019 33Feb 02, 2019 I have this class - month-day.c - #include <stdio.h> /* month_day function's prototype*/void month_day(int year, int yearday, int *pmonth, int *pday); int main() {return 0;} Note: I don't need the calendar, please read the instructions well!!arrow_forwardIN C PROGRAMMING LANGUAGE: Please write a pointer version of strncmp() named pstr_ncmp(char *s, char *t, int n) which compares the first n characters.arrow_forward
- Explain the difference between a pointer variable and other variables such as int, float, char.arrow_forwardAssuming that ptr is a pointer to an int, what happens when you add 4 to ptr ?arrow_forwardIN C PROGRAMMING LANGUAGE: Please write a pointer version of strncpy() named pstr_ncpy(char *dest, char *src, int n) which copies n characters from src and copies them into dest.arrow_forward
- Address of Array//Write the output of each cout statement.//Assume the size of ints to be 4 bytes.//Assume the size of pointers to ints to be 8 bytes.int main() {int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};cout << sizeof(a) << endl: //1: ___________________________cout << sizeof(a+0) << endl: //2: _____________________________cout << sizeof(*(a+0)) << endl: //3: _____________________________cout << sizeof(**a) << endl; //4: ____________________________cout << sizeof(&a) << endl; //5: _____________________________Assume the address of "a" is 0x7ffee2fef9e0cout << a + 1 << endl; //6: ________________________________________cout << *a + 1 << endl; //7: ________________________________________cout << **a + 1 << endl; //8: _______________________________________cout << &a << endl; //9: __________________________________________cout << &a + 1 << endl; //10:…arrow_forwardwrite C++ statements that perform the specified task. Assume that unsigned integers are stored in four bytes and that the starting address of the built-in array is at location 1002500 in memory. " Write two separate statements that assign the starting address of built-in array values to pointer variable vPtr ."arrow_forwarda C++ program that creates a two-dimensional integer array (4x3) initialized with user given data. The program should have the following functions: • Print the sum of all values in the array. • Print the average of all the values in the array. • Take row number from user and print the sum of the values in that specified row.(use loop and no if statement) • Take column number from user and print the sum of the values in that specified column.(use loop and no if statement)arrow_forward
- Systems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage LearningC++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning