Suggestions
Use up and down arrows to review and enter to select.Please wait while we process your payment
If you don't see it, please check your spam folder. Sometimes it can end up there.
If you don't see it, please check your spam folder. Sometimes it can end up there.
Please wait while we process your payment
By signing up you agree to our terms and privacy policy.
Don’t have an account? Subscribe now
Create Your Account
Sign up for your FREE 7-day trial
Already have an account? Log in
Your Email
Choose Your Plan
Save over 50% with a SparkNotes PLUS Annual Plan!
Purchasing SparkNotes PLUS for a group?
Get Annual Plans at a discount when you buy 2 or more!
Price
$24.99 $18.74 /subscription + tax
Subtotal $37.48 + tax
Save 25% on 2-49 accounts
Save 30% on 50-99 accounts
Want 100 or more? Contact us for a customized plan.
Your Plan
Payment Details
Payment Summary
SparkNotes Plus
You'll be billed after your free trial ends.
7-Day Free Trial
Not Applicable
Renews April 5, 2023 March 29, 2023
Discounts (applied to next billing)
DUE NOW
US $0.00
SNPLUSROCKS20 | 20% Discount
This is not a valid promo code.
Discount Code (one code per order)
SparkNotes Plus subscription is $4.99/month or $24.99/year as selected above. The free trial period is the first 7 days of your subscription. TO CANCEL YOUR SUBSCRIPTION AND AVOID BEING CHARGED, YOU MUST CANCEL BEFORE THE END OF THE FREE TRIAL PERIOD. You may cancel your subscription on your Subscription and Billing page or contact Customer Support at custserv@bn.com. Your subscription will continue automatically once the free trial period is over. Free trial is available to new customers only.
Choose Your Plan
For the next 7 days, you'll have access to awesome PLUS stuff like AP English test prep, No Fear Shakespeare translations and audio, a note-taking tool, personalized dashboard, & much more!
You’ve successfully purchased a group discount. Your group members can use the joining link below to redeem their group membership. You'll also receive an email with the link.
Members will be prompted to log in or create an account to redeem their group membership.
Thanks for creating a SparkNotes account! Continue to start your free trial.
Please wait while we process your payment
Your PLUS subscription has expired
Please wait while we process your payment
Please wait while we process your payment
We can take this one step further. Not only can we have pointers to simple data types like integers and characters, and more complex data types defined with structs, but we can actually have pointers to other pointers. How do we do that? Recall that the asterisk before the variable name in the declaration means that this variable is a pointer to the specified type. To make this easier to visualize, let's change (insignificantly) where we place the star. If we want to declare a pointer to an integer, we can do it as:
We can think of the variable steve as having the type int*, in other words, its type is a "pointer to an integer". So if we have the data type int*, how might we declare a pointer to this data type? Just like any other:
We don't have to stop here. We can have pointers to pointers to pointers to pointers, ad infinitum. Go ahead and try it. Start up your favorite C/C++ compiler and try typing in:
The compiler should have no problem understanding that steve is a pointer to a pointer to a pointer to a pointer to a pointer to a pointer to a pointer to an integer. The likelihood that you would need to do this is small, but the occasion might arise.
There is one thing to be cautious about when declaring pointers. The asterisk operator only applies to one variable being declared. For example, in the following code
Notice that we've been careful to say that our pointers can point to a variable of a certain type. The implication is that they don't necessarily point to a variable of that type. In fact when you first declare a pointer, it really can't be used. Why? Because it doesn't point to anything (more accurately it points to a random location in memory, which is extremely unlikely to be usable). A pointer's job in life is to point to another variable by storing its address. How do we get the address of another variable? The answer is the & operator, commonly referred to as the "address-of" operator.
Please wait while we process your payment