LeaflLit 发表于 2022-1-31 20:13:44

S1E23动动手1

看不懂,求解答!!!

jhq999 发表于 2022-2-1 11:48:31

p=arrey;
p="FishC";
p='F';
*p=p;

LeaflLit 发表于 2022-2-1 18:41:41

jhq999 发表于 2022-2-1 11:48


为什么不是定义成 char (*p) = &array;

jhq999 发表于 2022-2-1 21:20:01

本帖最后由 jhq999 于 2022-2-1 21:23 编辑

LeaflLit 发表于 2022-2-1 18:41
为什么不是定义成 char (*p) = &array;

char *array是一维指针数组,
&array是对这个指针数组取指针
char (*p) 是一维是5个元素的二维字符数组的指针不可能被赋值成字符指针数组取指针

LeaflLit 发表于 2022-2-1 23:09:05

jhq999 发表于 2022-2-1 21:20
char *array是一维指针数组,
&array是对这个指针数组取指针
char (*p) 是一维是5个元素的二 ...

可以理解成他们维度不同吗

jhq999 发表于 2022-2-2 10:06:07

LeaflLit 发表于 2022-2-1 23:09
可以理解成他们维度不同吗

类型不同

傻眼貓咪 发表于 2022-2-2 11:11:47

LeaflLit 发表于 2022-2-1 23:09
可以理解成他们维度不同吗

从简单代码试试看,你应该比较容易理解:#include <stdio.h>

int main()
{
    // 字符、字符串、指针数组
    char character = 'B';
    char string = "Star";
    char *array = {"FischC", "Five", "Star", "Good", "WoW"};

    // 指针分别指向以上字符、字符串、指针数组
    char *a = &character;
    char (*b) = &string;
    char *(*c) = &array;
   
    // 打印
    printf("a = %c\n", *a);
    printf("b = %c\n", **b);
    printf("c = %c\n", ***c);
   
    return 0;
}结果:a = B
b = S
c = F

LeaflLit 发表于 2022-2-2 13:46:18

jhq999 发表于 2022-2-2 10:06
类型不同

ok

LeaflLit 发表于 2022-2-2 13:52:41

傻眼貓咪 发表于 2022-2-2 11:11
从简单代码试试看,你应该比较容易理解:结果:

明白
页: [1]
查看完整版本: S1E23动动手1