Tenir des cordes dans une rangée à taille fixe est utilisation inefficace de mémoire. Une approche plus efficace serait d'employer des indicateurs. Des indicateurs sont employés en structures exactement de la même manière qu'ils sont employés dans des définitions normales d'indicateur.

Files Recovery Software
Accueil Coordonnées Soutien à la clientèle Télécharger la démo Produits  

 
 

Après avoir défini la structure, vous pouvez déclarer un exemple de lui et assigner des valeurs aux membres employant la notation de point. L'exemple suivant illustre l'utilisation de la structure de mois.

#include <stdio.h>
#include <string.h>
struct month
{
char name[10];
char abbreviation[4];
int days;
};

int main()
{
struct month m;
strcpy(m.name, "January");
strcpy(m.abbreviation, "Jan");
m.days = 31;
printf("%s is abbreviated as %s and has %d days\n", m.name, m.abbreviation, m.days);
return 0;
}

Le rendement du programme sera comme suit :

January is abbreviated as Jan and has 31 days


Tous les compilateurs C de norme ANSI te permettent d'assigner une structure à l'autre, exécutant une copie membre-sage. Si nous avions des structures de mois appelées m1 et le m2, alors nous pourrions assigner les valeurs de m1 au m2 avec ce qui suit :

  • Structure avec des membres d'indicateur.
  • La structure initialise.
  • Dépassement d'une structure à une fonction.
  • Indicateurs et structures.

Structures avec des membres d'indicateur dans C

Tenir des cordes dans une rangée à taille fixe est utilisation inefficace de mémoire. Une approche plus efficace serait d'employer des indicateurs. Des indicateurs sont employés en structures exactement de la même manière qu'ils sont employés dans des définitions normales d'indicateur. Voyons un exemple :

#include <string.h>
#include <malloc.h>

struct month
{
char *name;
char *abbreviation;
int days;
};

int main()
{
struct month m;

m.name = (char *)malloc((strlen("January")+1) *
sizeof(char));
strcpy(m.name, "January");

m.abbreviation = (char *)malloc((strlen("Jan")+1) *
sizeof(char));
strcpy(m.abbreviation, "Jan");

m.days = 31;

printf("%s is abbreviated as %s and has %d days\n",
m.name, m.abbreviation, m.days);

return 0;
}

Le rendement du programme sera comme suit :

January is abbreviated as Jan and has 31 days



Previous page

page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18

 
 

page 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34

 
 

page 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50

 
 

page 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60

Next page
 
 
Récupération de données livre
 
Chapitre 1 Une vue d'ensemble de rétablissement de données
Chapitre 2 Introduction des disques durs
Chapitre 3 Approche logique aux disques et à l'OS
Chapitre 4 Systèmes de numération
Chapitre 5 Introduction de la programmation de C
Chapitre 6 Introduction aux fondations d'ordinateur
Chapitre 7 Commandes nécessaires de DOS
Chapitre 8 Fonctions et interruptions de Disque-BIOS manipulant avec C
Chapitre 9 Manipulation de grands disques durs
Chapitre 10 Rétablissement de données de disque souple corrompu
Chapitre 11 Fabrication des protections
Chapitre 12 MBR de lecture et de modification avec la programmation
Chapitre 13 DBR de lecture et de modification avec la programmation
Chapitre 14 Programmation pour le rétablissement " de dossier cru "
Chapitre 15 Programmation pour des essuie-glace de données
Chapitre 16 Développer plus d'utilités pour des disques
Annexe Glossaire des limites de rétablissement de données
 
 
Pro Data Doctor

Accueil

Produits

Coordonnées

Soutien à la clientèle

Télécharger la démo

Conditions générales de vente

 
Pro Data Doctor