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, 1752👍, 0💬
What is shadowing ? When two elements in a program have same name, one of them can hide and shadow t...
What is the purpose of Replication ? Replication is way of keeping data synchronized in multiple dat...
How can I show HTML examples without them being interpreted as part of my document? Within the HTML ...
How do we get the current culture of the environment in windows and ASP.NET? “CultureInfo.CurrentCul. ..
How to create a thread in a program? You have two ways to do so. First, making your class "extends" ...