recherche

Maison  >  Questions et réponses  >  le corps du texte

linux - Comment comprendre un tel pointeur en langage C?

#include <stdio.h>
int main(){
    char *params[][2] = {
        {"age", "18"},
        {"name", "小明"},
        {"address", "beij"},
        {"", ""}
    };

    printf("%s\n", params[0][0]);
    return 0;
}

Je ne comprends pas très bien

巴扎黑巴扎黑2755 Il y a quelques jours614

répondre à tous(1)je répondrai

  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:27:35

    Chaque élément du tableau est une chaîne. Lors de la définition d'une chaîne, utilisez char *. Comprenez-vous cela ? char *,这样理解了吧?

    当你定义一个字符串的时候,用的是char *a = "test";对吧,
    那么当你定义一个字符串数组的时候,数组内的元素是不是应该都是char *类型的。

    这是定义一个字符串,你就把char *当成char来看(当然这是不对的,但是在这种情况下这样会更好理解)。

    或者直接这样看,typedef char * string

    Lorsque vous définissez une chaîne, vous utilisez char *a = "test"; right,
    puis lorsque vous définissez un tableau de chaînes, les éléments du tableau ne doivent pas tous être de char *. 🎜 🎜Il s'agit de définir une chaîne. Vous pouvez traiter char * comme char (bien sûr, c'est faux, mais dans ce cas, cela sera mieux compris) . 🎜 🎜Ou regardez-le directement comme ceci, typedef char * string, alors la définition devient comme ceci : 🎜
    string params[][2] = {
        {"age", "18"},
        {"name", "小明"},
        {"address", "beij"},
        {"", ""}
    };

    répondre
    0
  • Annulerrépondre