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
Individual
Group Discount
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 May 2, 2024 April 25, 2024
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 Annual Plan - Group Discount
Qty: 00
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.
We're sorry, we could not create your account. SparkNotes PLUS is not available in your country. See what countries we’re in.
There was an error creating your account. Please check your payment details and try again.
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
With dynamic memory allocation, while the program is running, the program requests more memory from the computer. If there's enough memory available, the computer will grant the program the right to use the amount it requests.
When we ask the computer for memory dynamically, what do you think it gives us? That's right, an address. When we ask the computer for memory, it goes and sees what memory it has available. Assuming it has enough to give us, the operating system will set aside the amount of memory we requested and give us that memory's address so that we can then use it. How do we store an address? In a pointer.
The functions we'll use to grab dynamic memory return a pointer to that memory (or if for some reason we couldn't get the memory we requested, they'll return the NULL value). We can then use that memory through the pointer just like it was ours to begin with, setting values in the memory, getting values from the memory, etc.
As this tutorial is primarily on pointers, we won't delve too much into memory allocation here as the point of this section is simply to point out that you can do dynamic allocation. However, we will still show you a few basics.
Allocating memory in C primarily revolves around two functions: malloc() and free(). malloc() is used to allocate memory (to request it) and free() is used to give it back. In C++, the operators new and delete are used to accomplish similar tasks, however due to the additional complexity surrounding these operators, we will not discuss them here (refer to the C++ SparkNote for more information).
So how exactly do we ask the system for memory? With the function malloc(). There are other functions as well, all part of the malloc() family, but we'll only be discussing malloc() here as it is the most common. malloc() takes a single argument, the number of bytes to allocate, and returns a pointer to the allocated memory if the allocation was successful, or NULL otherwise. For example, to allocate a chunk of memory 1024 bytes in length (1KB), we would use the instruction malloc(1024).
Please wait while we process your payment