linux - Comment comprendre un tel pointeur en langage C?
巴扎黑
巴扎黑 2017-05-16 13:25:35
0
1
619
#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

巴扎黑
巴扎黑

répondre à tous(1)
淡淡烟草味

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"},
    {"", ""}
};
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal