美文网首页C语言往事C语言我爱编程
C语言难点?指针原来这么简单

C语言难点?指针原来这么简单

作者: 往事C语言 | 来源:发表于2018-05-27 11:50 被阅读12次

指针

汇编语言:都是直接操作地址去访问内存单元里面等内容。

C语言作为高级语言:提供通过地言:都是地址访问内存单元的内容。

1、什么叫做地址?

地址就是内存中对每一个字节的编号。

通常一个数据的地址指的是存放这个数据的地址段的首地址。

注意:

1、一个程序在运行是会自动为变量开辟新的内存,地址会变。

2、在同一次运行过程中变量的地址是不会变的。

3、数据段,一个程序是在一个数据段中进行的。

&(取地址运算符):单目运算符,返回一个变量的地址

*(指针运算符):单目运算符,返回的是一个地址里面的变量的数据。

&和*具有相同的优先级,自右向左结合。

什么是指针?

指针是C语言中广泛使用的一种数据类型。

运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串;

并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。 学习指针是学习C语言中最重要的一环,

能否正确理解和使用指针是我们是否掌握C语言的一个标志。同时,

指针也是C语言中最为困难的一部分,在学习中除了要正确理解基本概念,还必须要多编程,上机调试。只要作到这些,指针也是不难掌握的。

指针变量的类型说明

对指针变量的类型说明包括三个内容:

(1)指针类型说明,即定义变量为一个指针变量;

(2)指针变量名;

(3)变量值(指针)所指向的变量的数据类型。

其一般形式为: 类型说明符 *变量名;

其中,*表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指针变量所指向的变量的数据类型。

例如: int *p1;表示p1是一个指针变量,它的值是某个整型变量的地址。 或者说p1指向一个整型变量。至于p1究竟指向哪一个整型变量, 应由向p1赋予的地址来决定。

再如:

staic int *p2; /*p2是指向静态整型变量的指针变量*/

float *p3; /*p3是指向浮点变量的指针变量*/

char *p4; /*p4是指向字符变量的指针变量*/ 应该注意的是,一个指针变量只能指向同类型的变量,如P3 只能指向浮点变量,不能时而指向一个浮点变量, 时而又指向一个字符变量。

指针变量的赋值

指针变量同普通变量一样,使用之前不仅要定义说明,

而且必须赋予具体的值。未经赋值的指针变量不能使用, 否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址,

决不能赋予任何其它数据,否则将引起错误。在C语言中, 变量的地址是由编译系统分配的,对用户完全透明,用户不知道变量的具体地址。

C语言中提供了地址运算符&来表示变量的地址。其一般形式为: & 变量名;

如&a变示变量a的地址,&b表示变量b的地址。 变量本身必须预先说明。设有指向整型变量的指针变量p,如要把整型变量a

的地址赋予p可以有以下两种方式:

(1)指针变量初始化的方法 int a;

int *p=&a;

(2)赋值语句的方法 int a;

int *p;

p=&a;

不允许把一个数赋予指针变量,故下面的赋值是错误的: int *p;p=1000; 被赋值的指针变量前不能再加“*”说明符,如写为*p=&a 也是错误的

学习路线:

1、c语言入门 程序设计-算法-运算符-顺序 分支 循环结构。

2、C语言精通 数组-函数字串符-指针-构造类型-预处理-存储管理-文件操作-数据结构。

3、c++入门 面对对象编程-类和对象-运算符重载-派生于继承,异常处理技术-C++语言标准-数据结构-(双向链表-双向队列-树-图)。

4、c++精通-stl标准模板库(容器-迭代器-算法)正则表达式-boost标准模板库-socket网络编程-大型企业项目实战:-员工信息管理系统-推箱子-俄罗斯方块-服务器-播放器-人工智能。

5、windows高级工程师:win32/mfc-windows高级编程-QT框架编程-大型企业级项目实战项目(人脸识别-车牌识别-局域网远程监控-等项目)

6、linux系统应用程序开发-linux内核构架研究-linux顶级网络服务器开发及搭建。

7、大型企业项目实战(linux内核高级虚拟内存驱动设计-linux网络间谍系统软件-linux内核网络数据劫持-linux网络阅读系统开发

文章最后

怎么快速学C/C++,有什么方法,打算深入了解这个行业的朋友,可以加C/C++学习群:750+579+336,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的C/C++资料和0基础入门教程,欢迎初学和进阶中的小伙伴。

每天晚上20:00我都会开直播给大家分享C/C++游戏编程学习知识和路线方法,群里会不定期更新最新的教程和学习方法,大家都是学习C/C++的,或是转行,或是大学生,还有工作中想提升自己能力的前端党,如果你是正在学习C/C++的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。

喜欢小编的文章的朋友可以关注、收藏、转发、留言,阅读愉快!!

相关文章

  • C语言难点?指针原来这么简单

    指针 汇编语言:都是直接操作地址去访问内存单元里面等内容。 C语言作为高级语言:提供通过地言:都是地址访问内存单元...

  • C语言05- 指针

    C语言05- 指针 13:指针 指针是C语言中的精华,也是C语言程序的重点和难点。 13.1:指针定义与使用 指针...

  • C语言重点—指针化难为易

    相信对于学习过C语言的人来说指针一直是一个难点。其实C语言也就只有这么一个难点,攻破了这个难点,要做的就是不断实践...

  • 指针

    本节探讨c语言中最重要的指针,c语言之所以如此灵活,关键就在于指针的运用,这是一个难点,也是学c语言必须要掌握的内...

  • Go语言-指针

    Go语言中的指针不同于C语言,Go语言的指针使用方法要简单很多。当然和C语言从指针定义到指针的使用都有很大的不同。...

  • C语言指针专题——如何理解指针

    指针,传说中是C语言中的一个难点,且是难点中的难点。本文在教材的基础上,再详细地谈谈“指针”这个东东,力争让大家能...

  • 我的难点~C语言指针

    焦点网初12周勇2018年12月17日分享103天(手机13607371686微信ZD13607371686) 他...

  • C语言学习之--容易混淆部分

    第二部分C语言重难点部分的理解 一.指针 指针定义的理解 #include int main(v...

  • C语言函数指针和指针函数

    C语言函数指针和指针函数 在学习C语言的过程中,“指针函数”和“函数指针”经常容易搞混了, 最简单的辨别方式就是看...

  • C语言基础及指针②之指针内存分析

    续接上篇 C语言基础及指针① 在上一篇中 , 我们了解了C语言的基本语法 , 以及简单指针 , 也知道 , 指针是...

网友评论

    本文标题:C语言难点?指针原来这么简单

    本文链接:https://www.haomeiwen.com/subject/mgdbjftx.html