ascunzându-se în C.

Ce vrei să spui de a le ascunde?Ca şi în C (orientat pe obiect) abordare?
their content will remain between function calls).

Fiecare variabilă a declarat într-o funcţie este ascuns de a lumii externe, ca să zic aşa (în cazul în care acestea sunt declarate ca fiind statice
conţinutul lor va rămâne între apeluri de funcţii).which means they are visible only inside the file in which you have declared.

Puteţi, de asemenea, declara variabile în afara de a funcţiona ca fiind statică
ceea ce înseamnă că sunt vizibile doar în interiorul dosar, în care le-aţi declarat.Astfel, ele sunt ascuns de la alte fişiere.

Este răspunsul meu în legătură cu întrebarea dvs.?Dacă nu vă rugăm să vă întrebarea dvs. mai clar.

Belsugului

 
Ce fel de date nu doriţi să le ascundeţi?

Toate Date definite şi utilizate în interiorul unei funtion nu sunt văzute de alte subrutine, aşa că vă rugăm să încercaţi să fie mai exactă cu întrebarea dumneavoastră.

toate cele bune

 
În C, de asemenea, cu ajutorul u statice funcţie poate atinge o anumită măsură, de detalii hiding.For date puteţi căuta pentru funcţia de statică în c.If orice problemă să-mi spuneţi.

 
de date ascunzându-se în C poate fi realizat prin folosirea a două abordări, după cum urmează:
1."obişnuite", abordare.În acest fel, noi nu suntem de extindere a capacităţilor de compilator.Acest lucru se realizează prin utilizarea datelor C structuri, indicatorul de a funcţiona în termen de faptul că structura şi funcţiile statică în module diferite.
2."spartan" abordare.In acest fel, noi suntem de extindere a capacităţilor de compilator pentru a sprijini ascunde de date.Un exemplu al acestei abordări este de GTK Toolkit.În această abordare, aproape fiecare lucru este declarat ca fiind nule de tip *.Impună controale tipul de date se face într-un mod sofisticat, folosind macro-uri şi o mulţime de "trucuri acrobatice compilator".Puteţi citi cartea orientate pe obiecte C de Axel-Tobias Schreiner, dacă sunteţi interesat în această abordare.

 
Puteţi obţine date ascunzându-se în C, procedând astfel.

1.Creaţi un h. Dosar şi spune nimănui, care include fişierul că există o struct.
2.Pune struct cu toate datamembers sale în. C fişier.
3.Oricine utilizând fişierul. H va vedea că există o struct disponibile, dar au de a utiliza funcţia de acces pentru a utiliza aceasta.

Facand asta au obţinut date se ascund, deoarece nimeni nu poate accesa direct dvs. struct sau la oricare dintre membrii acestora.

Exemplu simplu de mai jos.

a crea fişierul. h.
------------
/ * Person.h * /
# SPERSON_H ifndef
# define SPERSON_H

struct Persoana; / / Această linie spune că nu există o _exists_ struct Persoana numită şi nu arată cum arată.
typedef struct persoana * pPerson;

createPerson pPerson (char * FIRST_NAME, char * ename, de vârstă int);
printPerson void (pPerson);
changeSureNamePerson void (pPerson, char * new_first_name);

# endif

----------

Creaţi. Dvs. de c fişier.

---------
/ * Person.c * /
# include <stdio.h>
# include <stdlib.h>
# include <assert.h>

# include "person.h"

struct sPerson
(
char Prenume [30];
Nume char [30];
AGER int;
);

createPerson pPerson (char * Prenume, char * numele, vârsta int)
(

pPerson c = malloc (sizeof (struct persoana));
afirma (c! = NULL);
strcpy (c-> Prenume, Prenume);
strcpy (c-> Nume, Prenume);

c-> varsta = vârstă;
return c;
)

printPerson void (pers. pPerson)
(
printf ( "Numele de familie, numele Sigur, Varsta:% s% s% d \ n", pers-> Prenume, pers-> Prenume, pers-> de vârstă);
)

changeSureNamePerson void (p pPerson, char * new_surename)
(
strcpy (p-> Prenume, new_surename);
)

---------------

Creaţi fişierul principal.

-------------

# include <stdio.h>
# include <stdlib.h>

# include "person.h"

int main (void)
(
sistem ( "cls");
/ * Pune codul propriul dvs. aici ...* /

pPerson * pers1 = createPerson ( "Ion", "Doe", 30);
printf ( "pers1 =");
printPerson (pers1);
return 0;

)

------------Sper că acest lucru raspuns la intrebare.Cu respect,

Hybris

 

Welcome to EDABoard.com

Sponsor

Back
Top