C指针小结1

淩亂°似流年 2022-08-07 10:47 287阅读 0赞
  1. C指针小结1
  2. 我认为C语言的核心就是指针和对内存的操作,而操作内存就是由指针实现的,所以说指针真的非常非常重要,在后边的数据结构的学习中更要用指针,如果你立志要走C系统的开发这条路,那么你就应当精通指针的各种应用。下面写一点博主在学习指针时的一点小心得,小体会(仅仅一家之言)。

在刚学习指针时是真的一头雾水,感觉好难理解啊,这到底是个什么鬼?为何如此之难?不过在经过很长时间的纠结后博主还是有所体会。

指针:

  1. 指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。

运算符* 和& ,“*”的意思是取出这个地址存储的内容,“&”的意思是取出存储这个值的地址(取地址符)

  1. 例如:
  2. int \*a;
  3. 这个a就是一个指针,此时a存储的是一个地址。
  4. 指针的初始化:
  5. 既然指针是一个地址,那么初始化时就应当赋给指针一个地址作为初始值。
  6. int \*a;
  7. int b=5;
  8. a=&b;
  9. 此时a的值为一个地址(这个地址是随机分配的),
  10. 此时b的值为一个int型的常量5,此时\*a的值正是5
  11. 现在就两个表达式进一步说明指针:
  12. int c=4;
  13. int \*p=&c;
  14. 上边声明了一个int型常量c和一个指向int型的指针p
  15. 现在讨论赋值问题:
  16. 地址(&c),(&p),(++p),(p++)都是不能当作左值来赋值的。
  17. 地址中包含的内容(常量)(++\*p),(\*p)++,++\*++p,也不能当作左值来赋值。
  18. 指针同样可以进行算术运算,对它加上N,就等于它向后移动N个元素,当指针进行减法运算或者比较运算时(这两个或多个指针都要指向同一个数组中的元素);
  19. 使用指针时应当注意的地方:
  20. 1.错误地对一个未初始化的指针变量进行解引用。
  21. 2.错误地对一个NULL指针进行解引用。
  22. 3.向函数错误地传递了一个NULL指针。
  23. 4.未检测到指针表达式的错误,从而引起错误。
  24. 5.对一个指针进行减法运算,使它非法地指向了数组的第一个元素的前面的位置。
  25. 6.小心使用++P和--P这类表达式,极有可能越界导致严重后果。

发表评论

表情:
评论列表 (有 0 条评论,287人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C指针

            指针在c语言中占据着重要地位,指针跟int、char、double等类似,也是一中数据类型,其特殊之处在于int等基本类型变量存放的是内容,指针变量存放的是地址

    相关 1.0

    // 平常未了解的知识 在eclipse的命令行参数中 \ 会被操作系统当作通配符,\号会把Eclipse当前项目的所有文件与文件夹当作参数传进来,无论是'\',还是"\"都

    相关 C指针3

                                                      C指针小结3        现在总结指针的更高一级的用法,

    相关 C指针1

                                                C指针小结1      我认为C语言的核心就是指针和对内存的操作,而操作内存就是由指针

    相关 FFMPEG学习1

    音视频处理包括 1.采集,编码,然后就是一个常见视频文件了。 2.将视频文件,进行解码,然后绘制,然后加上声音,就是视频播放了。 3.视频播放方案:使用VideoView