C语言 百分网手机站

C语言中指针的用法介绍(5)

时间:2020-10-08 19:15:05 C语言 我要投稿

C语言中指针的用法介绍

  让我们再来看一例:

  Generated by Foxit PDF Creator ? Foxit Software

  http://www.foxitsoftware.com   For evaluation only.例十八:

  1。  char a;

  2。  int *ptr=&a;

  ...

  ...

  3。  ptr++;

  4。  *ptr=115;

  该例子完全可以通过编译,并能执行。但是看到没有?第3句对指针ptr进行自加 1 运算后,ptr 指向了和整形变量 a 相邻的高地址方向的一块存储区。这块存储区里是什么?我们不知道。有可能它是一个非常重要的数据,甚至可能是一条代码。而第4句竟然往这片存储区里写入一个数据!这是严重的错误。所以在使用指针时,程序员心里必须非常清楚:我的指针究竟指向了哪里。在用指针访问数组的时候,也要注意不要超出数组的低端和高端界限,否则也会造成类似的错误。在指针的强制类型转换:ptr1=(TYPE*)ptr2中,如果sizeof(ptr2的类型)大于sizeof(ptr1的类型),那么在使用指针ptr1来访问ptr2所指向的存储区时是安全的。如果sizeof(ptr2的类型)小于sizeof(ptr1的类型),那么在使用指针ptr1来访问 ptr2 所指向的存储区时是不安全的。

【C语言中指针的用法介绍】相关文章:

1.C语言指针的用法

2.C语言指针用法详解

3.C语言学习中的指针用法教程

4.C语言指针教学

5.C语言指针的传递

6.c语言new的用法介绍

7.在Swift中怎么使用C语言的指针

8.C语言指针函数和函数指针详解

9.C语言的指针类型解析