Compilation, pointeur & références
Compilation conditionnelle
Compiler le code suivant, sans puis avec les options de “warnings”
#include <iostream> using namespace std; int main() { unsigned int entierNonSigne; int entierSigne = entierNonSigne; cout << entierNonSigne << " " << entierSigne << endl; for (unsigned int iEntier = 0; iEntier < entierSigne; ++iEntier) cout << iEntier << endl; }
Après exécution, corriger les “erreurs”. Ajouter finalement une directive de
préprocesseur d’identificateur DEBUG
permettant l’affichage ou non des
différentes valeurs d’entier et compiler suivant les deux cas. S’assurer du
résultat en précompilant le code source.
Pointeurs & références
Créer un programme dans lequel vous déclarerez :
- un entier,
- une référence vers cet entier,
- un pointeur vers cet entier.
Vous afficherez la valeur et l’adresse de cette variable ainsi que la valeur pointée.
Opérateurs new
et delete
Écrire en C++, en utilisant les outils spécifiques à ce langage, les instructions C suivantes :
double * pt_tabular; int n_value; printf("Combien de valeurs souhaitez vous allouer en mémoire ?"); scanf("%d", &n_value); pt_tabular = (double *) malloc (sizeof(double) * n_value); free(pt_tabular);
Fonction & références
Écrire une fonction permettant d’échanger les contenus de 2 variables de type
int
fournies en argument:
- en transmettant l’adresse des variables concernées (seule méthode utilisable en C),
- en utilisant la transmission par référence
Dans les deux cas, vous écrirez un programme d’essai de la fonction.