前言:

以下内容需要一定的C语言基础,对指针要有稍许了解。此外内容不多,希望按照顺序看下去,或许对你有一定帮助。

内容均以代码+注释给出。时间有限 暂时给出上半部 见谅 算是基础入门吧

/*demo5: 一时瑜亮
*/
#include "stdio.h"int main(int argc,char **argv)
{/*example01:讲解指针 首先把指针当做地址吧,记得我文章提到内存空间,想象成一排房屋一字排开无限延生,从0开始编号,1,2,3... 就是房屋号码。下面的a_addr 用&取址符号获得 我在c-free中测试地址是0x28ff44 。这里的0x28ff44就好比是房屋编号。int *pt_a。'*'这里的作用是告知编译器pt_a是一个指针,这个变量可以存地址比如0x28ff44。对于使用 我们还是得用到'*'  比如 *pt_a = 1; 这里理解也很简单,pt_a是一个地址加上* 表示指向了这个地址内部的数据,好比pt_a = 100,地址100,在房屋号100*pt_a '*'打个比方,是一把进房屋的钥匙?我打开门了 存了一个东西(也就是赋值1)两处'*'的作用懂了吗?NEXT--> */int a_addr = 10;                               //内存地址0x28ff44房屋内的内容是10哦 printf("the a_addr address is 0x%x\n",&a_addr); //输出0x28ff44(或许你是别的)。 int *pt_a; /*example02:两种声明 前者声明整数b 后者声明指针 类型为int 名为pt_b有人曾问我,OK 你说pt_b是一个地址 地址嘛 无非就是一个整数 像1 2 3 ...或者说上文的0x28ff44  既然那么说,好啊,我就声明一个整数b赋值0x28ff44 然后赋值给指针变量pt_b(引文指针变量嘛 说的直白点就是用来存储地址的!)你会那么写pt_b = b; 一运行,啪!报错,"invalid conversion from 'int' to 'int *' " 知道为啥报错吗? 因为b的类型是整数(int), pt_b的类型是指针(类型int) 两者可不等价那么现在怎么解决这个问题,简单 类型转换下,既然int (int *)两个类型不一致,我就来捣乱下,用强制转换方法来(int *)b, 意思就是0x28ff44现在不是int 类型了,而是表示一个地址啦。那么pt_b=0x28ff44, OK啦 知道我们的房间号是多少啦,还不用钥匙打开看看里面有啥数据 快点调用*pt_b NEXT--> */int b;int *pt_b; b=0x28ff44;pt_b = (int *)b;printf("该地址上的内容是%d\n",*pt_b);//不出意外是10.....因为前面a_addr的值10 /*example03:先来看前3行代码,so easy c_0 c_1都是类型为int 的整数。而int c[2]就是等价这两个声明,我这只写了两个 要是100个呢,难道你要int c_0 int c_1 ... int c_100果断用int c[100]啊指针一样的道理 int *c_pt0 int *c_pt1  我嫌这个太麻烦 于是我写成了数组 int *c_pt[2]这样写就有点等同于 这个数组有2个元素,由于声明用int * 那么存储的就是指针啦,不管是c_pt[0] c_pt[1] 都是表示一个指针这里实在简单 不做扩展啦NEXT--> */ int c_0;int c_1;int c[2];int *c_pt0;int *c_pt1;int *c_pt[2];} 

c语言大世界————05一时瑜亮?相关推荐

  1. Java程序设计语言基础05:Java的类和对象

    目录 1. 类的定义与组成 1.1 类的定义 2.2 类的使用 2. 类.对象和引用 2.1 类 2.2 对象 2.3 引用 3. 类的知识扩展 3.1 成员变量初始值 3.2 在类中定义自己的引用 ...

  2. Python程序设计语言基础05:函数和代码复用

    目录 1. 函数的定义与使用 1.1 函数的理解和定义 1.1.1 函数的理解 1.1.2 函数的定义 1.2 函数的使用及调用过程 1.3 函数的参数传递 1.3.1 无参数传递 1.3.2 可选参 ...

  3. 【C语言基础05】循环结构程序设计(含经典代码解析)

    目录 5.1 while语句 5.2 do-while语句 5.3 for语句 5.4 三种循环的比较 5.5 循环的嵌套 5.6 break语句和continue语句 5.7 综合案例 循环结构又称 ...

  4. ​什么问题最让程序员头秃?我们分析了11种语言的11000个问题

    导读:自 2008 年成立以来,Stack Overflow 一直在拯救所有类型的开发人员.自那时以来,开发人员提出了数百万个关于开发领域的问题. 但是,迫使开发者转向 Stack Overflow ...

  5. NLP-D33-毕设答辩-《人类语言处理》04-05-Location-aware-attentionCTC大数据比赛报名答辩被从源头上暴

    -0452虽然今天答辩,还是很早就起了,ppt还想改一遍,论文还想读一下.早上听了会<人类语言处理>04,就是补昨天的坑啦.讲到的是Location-aware attention,主要是 ...

  6. 华为怎么把系统语言改成英语_怎么给华为手机更改语言?华为手机设置语言,涨知识了...

    目前很多人都开始使用华为手机,手机的语言也分为很多种,有时我们也需要对手机进行个性化的处理,那就需要更改到手机的语言,那么华为手机应该如何更改语言么?接下来,我便分享一些经验步骤给大家. 工具/材料 ...

  7. 如何将浏览器的默认语言设置成英文?

    操作方法 01 首先,我们打开我们电脑上面的浏览器,然后我们点击工具: 02 弹出的界面,我们点击选项: 03 弹出的界面,我们点击Internet选项: 04 弹出的界面,我们点击语言: 05 弹出 ...

  8. 语言学与计算机应用学什么,2016考研专业:语言学及应用语言学

    2016考研,对考研专业了解越多,考研人越易选出适合自己的方向,进行基本的专业介绍,探析就业前景与方向,推荐知名院校,介绍相近可调剂专业,并以一所高校为例对课程设置进行说明.这些与考研专业相关的详尽信 ...

  9. 【C++】C/C++系列教程汇总(更新中......)

    文章目录 01. C语言基础 02. C开发实战 03. 数据结构 04. C++语言基础 05. C++核心编程 06. C++开发实战 07. MFC 08. QT 09. Visual Stud ...

最新文章

  1. OpenCV矩阵运算
  2. 为什么需要 外键 呢?
  3. Arduino基本人机接口:点阵LED、汉字库、键盘
  4. python-水仙花数
  5. CTFshow php特性 web110
  6. 【刷算法】两个链表的第一个公共结点
  7. 主成分分析 PCA算法
  8. code vs 集成tfs_关于编译器和集成开发环境,一文给你讲明白!
  9. 南方s730手簿说明书_最新S730手簿及3.0简易操作82
  10. 避免某个子窗体重复运行的方法(showdialog、show)
  11. 6款国内外SNS开源软件 搭建社交网站利器
  12. [Swift]LeetCode246.对称数 $ Strobogrammatic Number
  13. C#设计模式:迭代器模式(Iterator Pattern)
  14. 从BIO、NIO到Netty
  15. NotFoundHttpException
  16. activiti启动流程实例
  17. 2016年最火的15款HTML5游戏引擎
  18. 高中计算机编程软件vb,高中年级VB程序设计全套教案.doc
  19. c++调用powershell_告别 Windows 终端的难看难用,从改造 PowerShell 的外观开始
  20. catia之车灯设计

热门文章

  1. STM32物联网项目-SHT30温湿度采集(IIC通信)
  2. win10基本操作(抖音总结)__2018.05.27
  3. Azkaban 基本架构是什么?
  4. three.js 简单画线
  5. 【弄nèng - Activiti6】Activiti6入门篇(七)—— 多实例任务
  6. Pathon学习之路(一)
  7. linux 安装 hadoop2.6,centos7安装hadoop2.6.1,详细教程
  8. Python入门代码
  9. vue3快速入门-Teleport(瞬移组件)
  10. 12333提交显示服务器异常,ora-600[12333]错误小结及跟踪方法