Zeiger in C verstehen lernen

Gast #2667679
Lesenswert?
• ▲
▼
Guten Tag,

wie kann ich mit der Adresse auf welche der Zeiger pnt zeigt, in der 
Funktion func arbeiten?

Ich möchte in der Funktion func den Wert 99 der Variable var, mit Hilfe 
eines Zeigers überschreiben.
1
#include<stdio.h>
2

3
void func( ) //(int *pnt)???
4
{
5
 //Wie kann ich einen Wert auf die vom Zeiger zeigende Adresse  schreiben???
6
}
7

8
int main()
9
{
10
 int var=99;
11
 int *pnt; 
12
 pnt=&var;
13

14
 func( ); //(*pnt)???
15
 
16
 system("pause");
17
 return 0;
18
}

Vielen Dank!
#2667685
Lesenswert?
• ▲
▼
Da Mo schrieb:
> void func( ) //(int *pnt)???

Ist schon mal ein richtiger Anfang. Es ist aber immer eine schlechte 
Idee einen Übergabeparameter und eine globale Variable den gleichen 
Namen zu geben.
Ausserdem brauchst du den globalen Paremeter " pnt=&var;" nicht, du 
kannst beim Aufruf der Funktion einfach "Adresse von var" übergeben.
Probiere es doch einfqach mal auf dem PC aus, das hilft dir mehr als die 
Lösung hier auf dem Tablett serviert zu bekommen.
Gast #2667858
Lesenswert?
• ▲
▼
Wie kann ich int a und float b in der Funktion werteuebergabe in die 
Struktur c schreiben(mit Hilfe eines Zeigers)?
1
#include<stdio.h>
2

3
struct values
4
{
5
 int a;
6
 float b;
7
};
8

9
void werteuebergabe(int a, float b, struct values *c)
10
{
11
 ???
12
}
13

14
int main()
15
{
16
 struct values c;
17
    
18
 werteuebergabe(10, 5.5, &c);
19
 
20
 printf("%d\n", c.a);
21
 printf("%f\n", c.b);
22
 
23
 system("pause");
24
 return 0;
25
}
#2667866
Lesenswert?
• ▲
▼
Da Mo schrieb:
> Wie kann ich int a und float b in der Funktion werteuebergabe in die
> Struktur c schreiben(mit Hilfe eines Zeigers)?

DaMo
bitte, bitte, bitte

Leg dein PIC Buch zur Seite und arbeite erst mal die ersten paar Kapitel 
eines ordentlichen C-Buches durch. Ganz offensichtlich ist dein PIC Buch 
da nicht geeignet, dir die Grundlagen von C beizubringen. Sowas gibts 
auch online, das kostet dich nichts. Und dann arbeite das mal auf einem 
PC durch.

> void werteuebergabe(int a, float b, struct values *c)
> {
    c->a = a;
    c->b = b;
> }


http://openbook.galileocomputing.de/c_von_a_bis_z/

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren