![Starting Out with C++ from Control Structures to Objects (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133769395/9780133769395_largeCoverImage.gif)
Concept explainers
Pointer:
Pointer will allow the user to indirectly access and manipulate the variable data contents. A pointer variable will hold the address of the data contents. If an asterisk “*” operator is present before the variable then that variable is referred as pointer variable.
Consider the following statement:
//definition of pointer variable
int *ptrvar;
Here the variable “ptrvar” is defined to a pointer variable of integer data type. So, it can store the address of an integer variable.
Returning a pointer from the function:
Pointers can be returned from the function only if the reference pointer variable that points exists in the function.
Circumstance for successful return of a pointer:
The circumstances for returning pointer successful are listed below:
- When a pointer is passed as an argument in a function that is called.
- When a pointer variable is defined locally within the function there may be possibility for the contents of the variables being destructed after execution of the function. This can cause unexpected results.
- When pointer gets chunk of memory allocated dynamically.
- When a variable is allocated dynamically, the contents will be available until the compiler executes the “delete” operation.
![Check Mark](/static/check-mark.png)
Want to see the full answer?
Check out a sample textbook solution![Blurred answer](/static/blurred-answer.jpg)
Chapter 9 Solutions
Starting Out with C++ from Control Structures to Objects (8th Edition)
- Explain the values of int data type.arrow_forward1#include 2 #include #include 4 #include 3 5 sem_t fork[3]; 6 7 void eat (int phil) { 8 printf("Philosopher %d is eating\n", phil); sleep (2); //time eating 9 10} 11 void philosopher (void * num) { int phil-*(int *)num; 12 13 printf("Philosopher %d wants to eat\n", phil); 14 sem_wait (&fork[phil]); 15 sem_wait (&fork [(phil+1)]); 16 eat (phil); 17 18 printf("Philosopher %d has finished eating\n",phil); sem_post(&fork [(phil+1)]); sem_post(&fork[phil]); 19 20} 21 int main(){ 22 int i, a[3]; 23 pthread_t tid[3]; for(i=0;i<3; i++) 24 25 sem_init(&fork[i],0,1); 26 for(i=0;i<3; i++){ 27 a[i]=i; 28 pthread_create(&tid[i], NULL, philosopher, (void *)&a[i]); 29 } 30 for(i=0;i<3;i++) 31 pthread_join(tid[i],NULL); 32} Fig.1 Figure 1 shows a program that tries to solve the dining philosophers' problem given that it only includes 3 philosophers who want to eat, where only 3 forks are available and each philosopher needs two forks. The outputs after running the program are given in Figure 2. In the…arrow_forwardbe recor #include #include minutes #include limit on int func(int, int, int, int); main(){ srand(time(NULL)); int a, b, c, fNum; printf("Choose three different numbers between 0-39:"); scanf ("%d%d%d", &a, &b, &c); fNum = func (a, b, c, 25); printf("\nThe result: %d", fNum); } int func (int ul, int u2, int u3, int iter){ srand (time (NULL)); int n1=0, i=0, count=0; for (;iarrow_forwardstruct ID { int x; int y; }; struct name { ID r; }; int main() { name a[2]; for (int i=0;i<2;i++) { a[i).r.x=i; a[i].r.y=i+1; } for(int i=0;i<2;i++) cout<arrow_forward37. #include int main() { int num = 5; printf(" The value of num is %d ", num ); What is printed?arrow_forwardint x; X=-2; do { x++; cout0); cout<<"done"; O done O -2 done O -1 donearrow_forwardIn C++ struct myGrades { string class; char grade; }; Declare myGrades as an array that can hold 5 sets of data and then set a class string in each position as follows: “Math” “Computers” “Science” “English” “History” and give each class a letter gradearrow_forwardFunctions With Parameters and No Return Values Quiz by CodeChum Admin Create a program that accepts an integer N, and pass it to the function generatePattern. generatePattern() function which has the following description: Return type - void Parameter - integer n This function prints a right triangular pattern of letter 'T' based on the value of n. The top of the triangle starts with 1 and increments by one down on the next line until the integer n. For each row of in printing the right triangle, print "T" for n times. In the main function, call the generatePattern() function. Input 1. One line containing an integer Output Enter·N:·4 T TT TTT TTTTarrow_forwardint grades[100]; int i; for (i=0;i <= 100;i++) { grades[i) = 100; } The above C++ code is the proper way to initialize the grades array, TRUE or FLASE True Falsearrow_forwardFind errors / syntax error. Write line numberarrow_forward#include <iostream>using namespace std; struct Person{ int weight ; int height;}; int main(){ Person fred; Person* ptr = &fred; fred.weight=190; fred.height=70; return 0;} What is a correct way to subtract 5 from fred's weight using the pointer variable 'ptr'?arrow_forwardC++ Functions provide a means to modularize applications Write a function called "Calculate" takes two double arguments returns a double result For example, the following is a function that takes a single "double" argument and returns a "double" result double squareArea(double side){ double lArea; lArea = side * side; return lArea;}arrow_forwardarrow_back_iosSEE MORE QUESTIONSarrow_forward_iosRecommended textbooks for you
- EBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT
EBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT