IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

const char* // question sur les tableaux


Sujet :

C++

  1. #1
    Membre expérimenté
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut const char* // question sur les tableaux
    Bonjour,
    J'ai trouvé un exemple sqlite en c sur internet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    // ..
      // .. after open database
      // ..
     
      const char *pSQL[6];
     
      // Create a new myTable in database
      pSQL[0] = "create table myTable (FirstName varchar(30), LastName varchar(30), Age smallint)";
     
      // Insert first data item into myTable
      pSQL[1] = "insert into myTable (FirstName, LastName, Age) values ('Woody', 'Alan', 45)";
     
      // Insert second data item into myTable
      pSQL[2] = "insert into myTable (FirstName, LastName, Age) values ('Micheal', 'Bay', 38)";
     
      // Select all data in myTable
      pSQL[3] = "select * from myTable";
     
      // Remove all data in myTable
      pSQL[4] = "delete from myTable"; 
     
      // Drop the table from database
      pSQL[5] = "drop table myTable";
     
      // execute all the sql statements
      for(int i = 0; i < 6; i++)
      {
        rc = sqlite3_exec(db, pSQL[i], callback, 0, &zErrMsg);
        if( rc!=SQLITE_OK ){
          fprintf(stderr, "SQL error: %s\n", zErrMsg);
          sqlite3_free(zErrMsg);
          break; // break the loop if error occur
        }
      }
     
      // ..
      // .. before close database
      // ..
    Bon exemple puisqu'il fonctionne ;-)
    Par contre, j'ai compris que les tableau était défini avec une longeur de caractère + 1. Le "1" étant le caractère de fin de chaine \0.

    Alors pourquoi ceci ne renvoi pas d'erreur ?
    pSQL[0] = "create table myTable (FirstName varchar(30), LastName varchar(30), Age smallint)";
    Est-ce comme un tableau à deux dimensions ? pchar[0][]

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 472
    Par défaut
    Hello,

    Citation Envoyé par Fl0r3nt Voir le message
    Est-ce comme un tableau à deux dimensions ? pchar[0]
    Pas tout-à-fait : tu as défini un tableau de pointeurs.

    Lorsque tu utilises les guillemets, l'espace alloué à la chaîne qu'ils contiennent est réservé par le compilateur en zone non-inscriptible. L'expression elle-même (la chaîne entre guillemets) est résolue en un pointeur qui donne son emplacement en mémoire. C'est ce pointeur qui est enregistré dans le tableau (à une dimension) que tu as déclaré, mais pas la chaîne elle-même.

  3. #3
    Membre expérimenté
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. question sur les tableaux
    Par scolopendra dans le forum Langage
    Réponses: 4
    Dernier message: 12/06/2007, 15h15
  2. Question sur les tableaux
    Par Chii-san dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/03/2007, 11h48
  3. Réponses: 9
    Dernier message: 13/06/2006, 21h52
  4. [Tableaux] Question sur les tableaux
    Par Shandler dans le forum Langage
    Réponses: 16
    Dernier message: 21/04/2006, 00h15
  5. question sur les tableaux
    Par Neko dans le forum C++
    Réponses: 13
    Dernier message: 14/02/2006, 02h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo