i have a problem:
*p[5] means p[5][5]?
and i think i have to give a value to first pointer
how can i do it?
my last question is i have a 5x5 matrix how can i use this as a pointer *p[5] or *p[5][5]? and how can i give values to matrix?
This is a discussion on pointer arrays!!! within the C Programming forums, part of the General Programming Boards category; i have a problem: *p[5] means p[5][5]? and i think i have to give a value to first pointer how ...
i have a problem:
*p[5] means p[5][5]?
and i think i have to give a value to first pointer
how can i do it?
my last question is i have a 5x5 matrix how can i use this as a pointer *p[5] or *p[5][5]? and how can i give values to matrix?
>*p[5] means p[5][5]?
No. The first is an array of 5 pointers. The second is a 2d array (5x5) of whatever type the variable is declared.
To complete the declarations:
>int *p[5];
>int p[5][5];
With the first you only get pointers to ints (5 of them).
With the second, you get a 5x5 *grid* of ints.
>and i think i have to give a value to first pointer
If you want to use it, you have to assign the pointer a value.
>how can i do it?
>my last question is i have a 5x5 matrix how can i use this as a pointer *p[5] or *p[5][5]? and how can i give values to matrix?Code:#include <stdio.h> int main(void) { int i; /* one int */ int *p[5]; /* 5 pointers to ints */ p[0] = &i; /* assign the address of i to the first int pointer in the array */ i = 1; /* set i to 1 */ printf("i is %d\n", i); /* show i */ *p[0] = 2; /* change the data located at the address the pointer is pointing to */ printf("i is %d\n", i); /* Show i again */ return (0); } Output: i is 1 i is 2
Have a look at this modified version of my first example:
This doesn't use all 5 element of the pointer array (p), it just shows how to use 1 element. You can expand on this in your own code.Code:#include <stdio.h> int main(void) { /*~~~~~~*/ int i[] = {1,2,3,4,5}; int *p[5]; /*~~~~~~*/ p[0] = &i[0]; /* can be simplified as p[0] = i; */ printf("i[0] is %d\n", i[0]); *p[0] = 2; printf("i[0] is now %d\n", i[0]); return (0); }
When all else fails, read the instructions.
If you're posting code, use code tags: [code] /* insert code here */ [/code]