C语言第二次作业

一、指针与数组

笔记:

问题:1.数组变量与指针的关系

 解决:在函数参数表中数组变量实际上就是指针,数组变量是特殊的指针。

 2.以数组变量为指针初始化时为什么不用加&符号

 解决:因为数组变量本身就表达了地址。

 例如:int a[10];

     int *p=a;

 3.数组之间不能相互赋值的原因

 解决:数组变量是const的指针(const即常量的意思),常量指针不可以被改变,因此数组变量之间不能赋值。

 自己理解是:就像数字10一样我们无法对其进行改变(理解可能有误)。

 二、指针运算

 笔记:

 

 

 

 

 问题:

1.*p++的理解

解决:去除p所指向的那个数据来,晚是之后把p移到下一个位置去。

(这是老师的讲解)明白他的意思,但是并不了解其中的原理。

2.NULL的使用是否可以和0互换。

解决:NULL是被宏定义为0;其值虽然都为0,但表示的意思完全不一样。同样,NULL和0表示的意思也完全不一样(来自博客园其他文章)。

 但是视频中说到的是在有些情况下可以互换。与书上所说的一致。

3.void*在计算时与char*相同但不相通

没有解决。

 

posted @ 2020-03-08 17:34  长歌暖浮生  阅读(177)  评论(6编辑  收藏  举报