c语言指针的研究和探讨

c语言指针的研究和探讨

ID:23153448

大小:53.00 KB

页数:5页

时间:2018-11-05

c语言指针的研究和探讨_第1页
c语言指针的研究和探讨_第2页
c语言指针的研究和探讨_第3页
c语言指针的研究和探讨_第4页
c语言指针的研究和探讨_第5页
资源描述:

《c语言指针的研究和探讨》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C语言指针的研究和探讨指针是C语言的精华部分,也是C语言学习的重点和难点,正确而灵活地应用指针是学习C语言中最重要的环节,也是我们掌握C语言的一个标志。理解和运用好指针可以灵活方便地处理程序中各种复杂问题,可以轻松完成其他高级程序设计语言不便完成的任务。在某些场合,指针是使运算得以解决的唯一途径,同时正确而灵活的掌握运用它,可以提高程序的运行速度,从而有效地表示和实现复杂数据结构。关键词:C语言;指针;程序设计;变量;标识符  C语言在处理变量、数组、函数时,需要由操作系统把这些数据调入内存的不同存储单元中,每个内存单

2、元都对应着一个地址,计算机就是通过访问这个地址来存取对应单元的内容。C语言中的每种数据类型在内存中存放所占用的存储单元数是固定的。从而根据数据的第一个存储单元地址(首地址)及数据类型,计算机就可以访问这个数据。C语言声明一个变量即表示在计算机中为该变量开辟一块内存空间,变量的值即该内存中所保存的值,可以使用变量名对该内存的内容进行访问或修改,或者通过先求出该变量所占内存的地址,然后直接对该内存进行访问或修改。变量对应的首地址称作变量的指针,指针变量是用于存放某一类型变量地址的变量,其值为所指向变量的内存地址。  指针变

3、量的声明规则为:类型标识符*标识符,其中“类型标识符”表示该指针变量所指向的变量的类型,标识符是该指针变量的名字。例如:  inti=1;  int*p=&i;  那么此时p为一个指向int类型的指针,其值为变量i所占内存的地址,而*p即为该内存所保留的的数值1,其中运算符&是在执行取地址操作,就是说&i表示的是i的地址,而不是i的数值,同时也可以通过对指针变量p的操作来对i的值进行访问和修改。需要注意的是,与一般变量一样,对于外部或者静态指针变量,若在定义中未进行初始化,指针变量将自动被初始化为NULL,即为空指针。

4、那么下面简单介绍一些关于指针的应用:正确使用指针变量可以提升程序的执行效率  正确使用指针变量可以编写高质量、高效率的C程序。以下从数组元素的引用、函数调用的代价和因为错误使用指针而造成的问题三方面进行分析,以更清晰地介绍使用指针变量对C程序运行效率的影响。数组元素的引用  #include""stdio.h""  main()  {  inta[5]={1,2,3,4,5},i,*p;  for(i=0;iscore;  ave=sum/5;  printf(""%.0f,%.2f"",sum,ave);  }  m

5、ain()  {    {structs*p;    structsxs[5]={{1,""mali"",89},  {2,""lili"",78},{3,""nimi"",90},{4,""lini"",65},  {5,""yisu"",82}};  p=xs;  f(p);  }  在该程序中,实参传给形参的是结构体变量的地址,这样在函数调用时就无需复制大量数据,从而减少时间和空间的开销。编写程序时,如果需要传入一个占比较大内存的数据类型,如数组或结构体变量,为了提高程序运行效率,都是传递该变量的地址。指针指向的

6、地址偏移的错误  这种情况常出现的原因是,错误地将指向动态分配内存的指针当着指向一般变量的指针使用。示例程序如下:  voidTest(void)  {  char*pChar=(char*)malloc(sizeof(char));  charchs;  pChar=&chs;  free(pChar);  }  该程序的目的是想将chs内容传递给pChar指针指向的内存,但该程序代码将会使指针pChar指向chs所占有的内存地址,其先前指向的内存空间将成为垃圾地址,因为程序没有办法再访问该内存空间了。这里pChar

7、是一个野指针,程序将会导致内存泄漏。同时,在调用free函数释放指针pChar的内存时,将会发生异常错误。因为此时pChar指向的内存已经不是由malloc函数动态分配的,不能使用free函数进行释放。要避免这样的情况发生就应该避免将指向动态分配内存的指针在释放前指向其他变量的内存地址。所以,我们发现,如果不能正确的使用指针不仅不能提高程序的执行效率,反而给我们带来了不必要的麻烦。  指针应用千变万化,关于指针的应用,还有很多内容值得探讨,以上只是指针的一些基本应用,只有在编程过程中不断总结指针的使用技巧,通过实践中的

8、不断摸索才能准确无误的应用指针。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。