C和指针课后答案

发布时间:2024年01月19日

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

第八章课后答案


提示:以下是本篇文章正文内容,下面案例可供参考

一、pandas是什么?

1、第一题

自己写的答案

ints100ip112
ints[4]50ip[4]80
ints+4116ip+4128
*ints + 414*ip+444
*(ints + 4)50*(ip+4)80
ints[-2]未知ip[-2]20
&ints100&ip未知
&ints[4]116&ip[4]128
&ints+4420&ip+4未知
&ints[-2]未知&ip[-2]104

但是其中有几个是不对的。

ints100ip112
ints[4]50ip[4]80
ints+4116ip+4128
*ints + 414*ip+444
*(ints + 4)50*(ip+4)80
ints[-2]非法ip[-2]20
&ints100&ip未知
&ints[4]116&ip[4]128
&ints+4420&ip+4未知
&ints[-2]非法&ip[-2]104

10、第十题

int array[4][2]

array????????1000

array + 2????????1032

array[3]????????1012

array[2] - 1? ? ? ? 1004

&array[1][2]? ? ? ? 1008

&array[2][0]? ? ? ? 1008

上面的答案是针对整形长度为2的情况下。下面是在codeblock软件上,整形长度为4的结果

int main()
{
    int array[4][2];

    printf("%d\n",sizeof(int));

    printf("%p\n",array);
    printf("%p\n",array + 2);
    printf("%p\n",&array + 2);
    printf("%p\n",array[3]);
    printf("%p\n",array[2] - 1);
    printf("%p\n",&array[1][2]);
    printf("%p\n",&array[2][0]);

    return 0;
}

//4
//0061FF00
//0061FF10
//0061FF40
//0061FF18
//0061FF0C
//0061FF10
//0061FF10

一开始还是有点晕的。然后查了书。文件描述。array是指向一行数组的指针。array+1则地址移动一行地址。*(array+1)或array[1]则标识了一个包含2个整型元素的子数组。array[1]+1则是在这行数组中移动地址。所以也就清晰起来。

这个题目就说明了一件事情。对于二维数组array,array的地址值和&array的地址值是一样的。但是一个是指向一行数组,一个是指向整个二维数组。但是值是一样的。数组名是数组第一个元素的地址。对于二维数组,数组名就是其中第一行数组的地址。

其中&array+2还值得继续探讨。?


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

文章来源:https://blog.csdn.net/2301_77560238/article/details/135666104
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。