C语言指针专题——指针怎么就很灵活?
最近在研读 C Primer pkus(第五版)中文版,老外写的还是很经典的,推荐给朋友们,购买地址:C primer plus 5版中文版购买
另外再推荐两本书:
1. 2017年9月全国计算机二级c语言程序设计上机考试新版题库全真模拟试卷全套,购买地址:2017年9月全国计算机二级c语言
2. 程序员面试宝典(第5版)第五版:程序员面试宝典(第5版)第五版
本篇再来谈谈C语言中,为何有人会说指针很灵活?指针是精华?我来说说我对灵活性的理解。
先举个例子。windows上有很多好玩的游戏,比如我大学时喜欢玩的三国争霸的游戏,游戏的内容就是给我一片空地,让我在空地上建造房屋,有了房屋就能生产农夫,有了农夫就能种地生产粮食,建造兵工厂,生产武器,农夫还能变成士兵等等。等到自己的实力壮大了,就能去攻击对方的城池。
这款游戏是一个exe程序,双击就能玩。可是玩着玩着,我发现如果农夫都挂了,粮食都吃完了,兵器都打完了,那我不就坐着被别人灭吗?不行,我要改源码。忽然天空一声响,源码来到我的面前,并且传来了上帝的声音“小玩怡情,大玩上身”。感谢帝哥给我源码,我就把对我不利的代码通通改掉,想改哪里改哪里,非常方便,非常灵活,我把代码改成可以生产无穷多的农夫,无穷多的粮食,无穷多的兵器,于是我成为了无敌手!但是我也有改错的地方,游戏运行一段时间就会报错,而且毕现,估计是哪里被改出问题了!
再回到指针,我可以使用指针直接操作内存,读也好,写也好,怎么样都好,我就是可以用指针访问内存,内存的数据尽在我手中,内存的命运尽在我手中,我想读哪里的数据,我想往哪里写什么数据,都随我意。就像我在修改三国争霸源码一样,怎么对我有利,我就怎么改,是不是很灵活!当然,如果指针操作不当,访问内存不当,如越界访问,野指针等,也会带来很多的问题,就像我改三国争霸游戏源码一样,哪里改错了我都不知道。
指针是个双刃剑,用的好,会给你带来很多的好处,用的不好也会给你带来很多的坏处!
C语言指针专题——指针怎么就很灵活?的更多相关文章
- C语言指针专题——指针难学的4点原因
前一篇跟大家聊了聊指针的概念,可是就算了解了指针是什么,为什么依然感觉难学?我试着从几个点切入,聊聊指针难学之处. 文末会给大家推荐几本书,有需要的朋友可以看看! 难点1. 讨厌的星号 定义指针变量p ...
- C语言指针专题——使用指针要注意这些
本文为原创,欢迎转发: 欢迎关注微博与微信号:C语言编程技术分享 C语言中,指针的概念有点难懂,使用起来稍微不注意,也会遇到各种问题.在本文中,我列举出了几个使用指针不当的方式,希望朋友们在编程实践中 ...
- C语言指针专题——如何理解指针
本文为原创,欢迎转发! 最近在研读C primer plus 5版中文版,老外写的,还是很经典的,推荐给读者们,有需要的朋友可以在这里购买:C primer plus 5版中文版 指针,传说中是C语言 ...
- 【C语言】-返回指针的函数与指向函数的指针
本文目录 前言 一.返回指针的函数 二.指向函数的指针 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能够快速上手C语言.如果你还没有编程经验,或者对C语言.i ...
- Delphi的指针(有图,很清楚)
Pointers are like jumps, leading wildly from one part of the data structure to another. Their introd ...
- 解读 C 语言中的指针
我想对很多学习C语言的新手来说,指针无疑是一个难点.但是,我觉得指针也是C语言特别重要的一个特性.也许,你在除了C和C++以外的编程语言中,很少看到指针.而C++中,也多用引用,而非指针.指针,作为一 ...
- 深入理解C语言中的指针与数组之指针篇
转载于http://blog.csdn.net/hinyunsin/article/details/6662851 前言 其实很早就想要写一篇关于指针和数组的文章,毕竟可以认为这是C语言的根本 ...
- 深入理解C语言中的指针与数组之指针篇(转载)
前言 其实很早就想要写一篇关于指针和数组的文章,毕竟可以认为这是C语言的根本所在.相信,任意一家公司如果想要考察一个人对C语言的理解,指针和数组绝对是必考的一部分. 但是之前一方面之前一直在忙各种事情 ...
- 由链表初始化看C语言的二级指针
先来看C语言创建链表.插入节点和遍历链表的一段代码: #include <stdio.h> #include <stdlib.h> typedef int ElemType; ...
随机推荐
- Qt PNG 背景透明
本文主要是解决Qt中QGraphicsAbstractShapeItem,QPixmap,QPainter等组件的透明化显示问题. 在Qt中定义了一个常量,用于设置透明的颜色,即Qt::transpa ...
- 浏览器中实现3D全景浏览
如果你用过网页版的百度地图,你大概3D全景图浏览是一种怎样的酷炫体验:在一个点可以360度环顾周围的建筑.景色,当然也可以四周移动,就像身临其境. 科普 全景图共分为三种: ①球面全景图 利用一张全景 ...
- 获得QQ聊天输入框中的内容
// 首先得到输入框的句柄.通过spy++这类工具分析,聊天窗体的类名为“#32770”// 但当前系统里不只一个类名为“#32770”的窗体,这就需要全体遍历一次.// 类名为“#32770”标题含 ...
- TopFreeTheme精选免费模板【20130704】
今天我们给大家分享10个最新的主题模板,6款WordPress主题,3款Joomla模板,1款Magento主题.它们分别来自ThemeForest,RocketTheme,YooTheme.有需要的 ...
- 由TreeView 如何触发OnSelectedNodeChanged事件想到的与做到的
前提是每层的结点上设置了NavigateUrl OnSelectedNodeChanged事件好像失去了作用. 另外TreeView是没有AutoPostBack的!!!! 那么要如何触发OnSele ...
- Spring Type Conversion(Spring类型转换源码探究)
1:概述 类型转换系统负责Spring框架中对象类型转换和格式化工作. ConversionService默认实现UML图如下所示: GenericConversionService(通用类型转换服务 ...
- SpringCloud-分布式配置中心【加密-对称加密】
前面我们介绍了SpringCloud的分布式配置中心,我们将项目中的配置信息保存在git或者码云的仓库中,但是这样一些敏感信息就暴露出来了,比如数据库连接的账号密码等信息,这时我们最好能够对这些信 ...
- kubernetes实战篇之nexus oss服务器部署及基于nexus的docker镜像仓库搭建
系列目录 Nexus oss仓库管理平台搭建 Nexus是一款仓库管理工具,支持Npm,bower,maven,nuget,apt,yum甚至docker,helm等各种仓库,说的通俗以下,就是私服镜 ...
- Idea中maven项目中导入本地jar包
说一下正确的流程: 1.将jar包导入到本地maven库或者远程nexus仓库,再使用maven引用: 2.导入命令: //通过一下信息引入maven -DgroupId=com.test -Dart ...
- idea+mvc项目转换小记
经过大家协商,决定还是紧跟时代潮流,把项目转到idea下,并且重新组织项目结构.项目环境原本为myeclipse+maven+springMVC,由于本人提议的boot+cloud变化太大,成本巨大, ...