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; ...
随机推荐
- socket编程详解,转自http://www.sme-cn.com:82/archives/669
一 Socket简介 Socket翻译过来是套接字,具体含义可自行百度,简言之就是IP:Port的组合,是网络通信的一个窗口,IP就是地址和门牌号(比如长沙市韶山北路81号),Port就是房间号(比 ...
- Win8 Metro(C#)数字图像处理--2.52图像K均值聚类
原文:Win8 Metro(C#)数字图像处理--2.52图像K均值聚类 [函数名称] 图像KMeans聚类 KMeansCluster(WriteableBitmap src,i ...
- transform 遇上 position: fixed
最近遇到一个有意思的现象,以下 demo 中 fixed 的元素没有相对 viewport 定位,而是相对于它的父元素进行定位. <html> <head> <style ...
- Win10《芒果TV》内测版现已支持在国行版 Xbox One 下载体验
Win10<芒果TV>内测版现已支持在国行版 Xbox One 下载体验 关于国行为什么无法从商店下载安装芒果TV内测版(来自微软) 1.截至到目前<芒果TV - Preview&g ...
- WPF实现系统禁音的方法
方法1: [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern ...
- .NET重思(二)接口和抽象类的取舍
不得不说,接口和抽象类好像啊~两者都不可以实例化,并且未实现的部分都是由派生类实现的. 他们主要有这么个区别: (1)抽象类的派生类可以是派生类,换言之,抽象成员在派生类中不一定完全实现,而接口要求其 ...
- tbox的项目:vm86(汇编语言虚拟机),tbox(类似dlib),gbox(c语言实现的多平台图形库)
https://github.com/tboox/tbox GBOX是一个用c语言实现的多平台图形库,支持windows.linux.mac.ios.android以及其他嵌入式系统. 现在这个项目, ...
- 无辜的RAD(RAD是让你去创造和使用可复用的组件,不是让程序员“变白痴”)good
无辜的RAD 2005-3-21 说实话,RAD很无辜.从出生的那天其就被骂,天天被指着鼻子说“不就是拖个控件嘛”,就好像当年说学电脑“不就是插个鼠标嘛”.也怪程序员大都天性犯贱,就爱一遍又一便的写基 ...
- 获取函数的地址(三种方法,分别是@,Addr,MethodAddress)
问题来源: http://www.cnblogs.com/del/archive/2008/07/30/1039045.html#1272783 在编译器看来, 重载函数根本就是完全不同的几个函数, ...
- 今天想安装 windowsl ive 提示安装失败 错误码
Windows Live installation error: OnCatalogResult: 0x80072ee6 看了了这个老兄的回答,试了试,果然OK,谢谢@普洛提亚从这里下载安装包,然后安 ...