数组指针和指针数组 这段我是似懂非懂
我觉得吧,数组指针强调是指针,指向这个数组的指针,指针数组强调的是数组,用来存放指针的数组
可能,大概,也许是这样
学到 打卡!!!! 似懂非懂是我没错了 厉害 {:9_228:} 请问老师课上讲的jie引用是哪三个字啊? 看到大家都蒙,我就放心了。 学习打卡 callmezed 发表于 2021-4-4 10:26
请问老师课上讲的jie引用是哪三个字啊?
解引用 经验+3 敌敌畏迪迪卫 发表于 2019-8-18 11:02
我太难了 我的脑子学不会
{:10_266:} 确实
好难啊 array 指向包含五个元素的指针
*(array+1){解引用:此中表示array+1的解引用}表示?表示第二行包含的五个元素中第一个元素的地址(首地址) *(array+1) == array {语法糖}
*(*(array+1)+3)表示的是什么?表示第二行包含五个元素中的第四个元素的地址 ,相当于在*(array+1)的基础上横向移动三个位置,再用*取出其地址信息 难啊 好好学习才能天天向上! 前程晨 发表于 2022-3-31 13:47
array 指向包含五个元素的指针
*(array+1){解引用:此中表示array+1的解引用}表示?表示第二行包含的五个 ...
mark,
之前被上一节*(*p+1)这种解引用弄混了,这个只是p指向的五个元素里的元素的解引用;
而*(*(array+1)+3)这种解引用的是array指向的五个元素后的下一个五个元素内的解引用;
可以这么理解吗 明白{:5_90:} 有点晕 #include<stdio.h>
int main()
{
char ary;
char (*p) = ary;
int i, j, n, v = 0;
while((*(*(p + i)) = getchar()) != '\n'){
i++;
}
ary = '\0';
for(n = i / 2; n * n > i; n--){
;
}
for(j = 0; j < n * n; j++){
printf("%c ", *(*(p + j)));
if(!((j + 1) % n)){
putchar('\n');
}
}
return 0;
}
输出为什么错误
是哪里弄错了吗?求大佬解惑{:5_92:}
页:
1
[2]