I im trying to declare a pointer and allocate some space for it
I'm trying to declare a pointer and allocate some space for it, but it's not working. What's wrong with this code?
*p = malloc(10);
The pointer you declared is p, not *p. When you're manipulating the pointer itself (for example when you're setting it to make it point somewhere), you just use the name of the pointer:
p = malloc(10);
It's when you're manipulating the pointed-to memory that you use * as an indirection operator:
*p = 'H';
(It's easy to make the mistake shown in the question, though, because if you had used the malloc call as an initializer in the declaration of a local variable, it would have looked like this:
char *p = malloc(10);
When you break an initialized pointer declaration up into a declaration and a later assignment, you have to remember to remove the *.)
In summary, in an expression, p is the pointer and *p is what it points to (a char, in this example).
2016-06-10, 1064👍, 0💬
What is CAR (Causal Analysis and Resolution)? The basic purpose of CAR is to analyze all defects, pr...
Can static variables be declared in a header file? You can't declare a static variable without defin...
How was XML handled during COM times? During COM it was done by using MSXML 4.0. So old languages li...
What is Traceability Matrix? Traceability Matrix is one of the document will prepare by QA.To make s...
How To Write a Minimum Atom 1.0 Feed File? - RSS FAQs - Atom Feed Introduction and File Generation I...