What's wrong? Why pointer stays constant? : <p>I learn C programming for a while and I had to create a program, which contains a function void hello() displays word 'Hello :)' and the number, how many time the function hello() was called. The code bellow displays 'Hello' but the number of function calling stays constant. I just want to know, what's wrong and why it isn't working as it should. </p>

<pre><code>#include &lt;stdio.h&gt;

int main(void) {

void hello(int *p_number);
int number = 1, i;
int* p_number = number;

for (i = 1; i &lt;= 10; i++){
    hello(&amp;p_number);
    printf("Number in cyclus = %d\n", number);
    number++;
}

return 0;
}

void hello(int *p_number){
    printf("number of calling = %d, Hello :)\n", *p_number);
}
</code></pre>
