1. 本次课学到的知识点:指针是c语言中一个非常重要的概念。在c语言中,如果定义了一个变量,在编译时就会根据变量的类型给他分配相应大小的内存单元。如果把存储器看成一个建筑物,建筑物内的房间就是存储器单元,房间号就是定义。
2. 实验过程中遇到的问题及解决方法:对指针还不是很熟悉,可以理解定义但是很难做题。
3. 实验心得体会及本章学习总结:要注意区分内存单元的内容和内存单元的地址。
4. 几个问题的思考与回答
(1)两个相同变量的指针能相加么?为什么
答:不能相加,因为两个指针变量的类型相同所以可以相互赋值。
(2)在使用scanf()函数时,输入参数列表需要使用取地址操作符&,但当参数为字符数组名时并没有使用,为什么?如果在字符数组名前加上取地址操作符&,会发生什么?
答:因为字符数组名的值是一个特殊的固定地址,可以看作是常量指针,因此不需要再使用取地址符来获取该数组的地址。数组名和指针变量就是地址,不需要加&。(3)C语言不允许用赋值表达式直接对数组赋值,为什么?
答:C中数组不是严格的数据类型,即平时写
int a[10],b[10];
编译器并不认为a、b有什么类型上相同。