|
| returner en pointer Fra : Gizmo |
Dato : 25-07-04 11:00 |
|
Hej
Er det ikke muligt at returner en pointer til et array og så tælle den
pointer op.
Så man kan hente alle pladserne i arrayet.
Ex:
Void main (void)
{
unsigned char *p_data;
unsigned char temp_1 = 0;
unsigned char temp_2 = 0;
unsigned char temp_3 = 0;
p_data = get_data();
temp_1 = *p_data;
"tæl pointeren en op"
temp_2 = *p_data;
"tæl pointeren en op"
temp_3 = *p_data;
}
unsigned char data[3] = {1,2,3}
unsigned char *get_data(void)
{
&return data[0]
}
på forhånd tak.
| |
Mogens Hansen (25-07-2004)
| Kommentar Fra : Mogens Hansen |
Dato : 25-07-04 11:28 |
|
"Gizmo" <X@X.xxx> wrote:
[8<8<8<]
> Er det ikke muligt at returner en pointer til et array og så tælle den
> pointer op.
jo.
Har du problemer med det ?
[8<8<8<]
> Void main (void)
"main" returnerer altid "int"
Venlig hilsen
Mogens Hansen
| |
Gizmo (25-07-2004)
| Kommentar Fra : Gizmo |
Dato : 25-07-04 11:19 |
|
så fandt jeg det!!
temp_2 = *(p_data + 1);
men tak.
| |
Bertel Lund Hansen (25-07-2004)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 25-07-04 15:31 |
|
Gizmo skrev:
>så fandt jeg det!!
>temp_2 = *(p_data + 1);
Det lader pointeren uberørt.
Hvis det er vigtigt at tælle den op, kan du bruge
temp_1 = *(p_data++);
temp_2 = *(p_data++);
temp_3 = *(p_data++);
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/
| |
Anders Melchiorsen (31-07-2004)
| Kommentar Fra : Anders Melchiorsen |
Dato : 31-07-04 01:18 |
|
"Gizmo" <X@X.xxx> wrote on 25-Jul-04:
> temp_2 = *(p_data + 1);
Det kan også skrives
temp_2 = p_data[1];
hvilket undertegnede finder mere læsbart.
Anders...
--
Min adresse er gyldig i en uge.
Derefter skal (kun) delen '.dJJJ-YY' fjernes.
| |
|
|