指针
1、指针的概述
指针是什么?
指针是一个地址 是一个常量
int 整型 int a a是变量
指针用来做什么?
方便使用数组或者字符串 像汇编语言一样处理内存地址
2、指针变量
什么是指针变量?
是一个可以存储地址的一个“容器”
经常会吧指针变量 读作指针 后面吧地址当做“指针” 吧存储地址的变量叫做“指针变量”

3、指针赋值
类型说明符 * 变量名=地址值;

int a=89;
int *p=&a; 定义了一个int* 类型的变量p (类型跟*是一对好基友)
之后给这个变量赋值a的地址 &取地址符号

 #include<stdio.h>
int main()
{
//int a = 520;
//int *p = &a;
//printf("p=%d\n",p);
//printf("a的地址=%d\n",&a); //int a = 520;
//int *p = &a;//第一种:在定义指针变量的时候初始化 初始化
//int *pp;
//pp = &a;//第二种:把一个变量的地址值赋给相同类型的指针变量 赋值
////类似于
//int c;
//c = 5;
//int *ppp = pp;//把一个指针变量赋值给另一个相同数据的指针变量
//printf("ppp=%d\n",ppp);
//printf("pp=%d\n", pp);
//printf("pp=%d\n", &a); //int a = 5;
//char xiaoming = 'A';
//int *PangQi = &a;
//PangQi = (int*)&xiaoming;//指针赋值只能是类型相同的 如果必须要赋值类型不一样的地址 那么就要类型强转
//printf("%d\n",*PangQi); //int a = 4407873;//int是4字节 32位
//char *p = (char *)&a;//char是1字节 8位
//printf("%s\n",p);//输出ABC
////ABCD 0100 0100 0100 0011 0100 0010 0100 0001 //解引用 c语言里面 有两个有关指针的运算符 * &
/*
& 取地址符号 int a; &a 得到a的地址
* 指针运算符 或者是 指向运算符 间接运算符
“*”的作用是引用指针指向的变量值,引用其实就是引用该变量的地址
“解” 就是把该地址对应的东西解出来
*/
int xiaoming = ;
int *pangqi = &xiaoming;
*pangqi = -;
printf("%d\n",*pangqi); getchar();
return ;
}

2018-07-24  16:32:13

C++学习(十八)(C语言部分)之 指针2的更多相关文章

  1. 强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)

    在强化学习(十七) 基于模型的强化学习与Dyna算法框架中,我们讨论基于模型的强化学习方法的基本思路,以及集合基于模型与不基于模型的强化学习框架Dyna.本文我们讨论另一种非常流行的集合基于模型与不基 ...

  2. Scala学习十八——高级类型

    一.本章要点 单例类型可用于方法串接和带对象参数的方法 类型投影对所有外部类的对象都包含了其他内部类的实例 类型别名给类型指定一个短小的名称 结构类型等效于”鸭子类型“ 存在类型为泛型的通配参数提供了 ...

  3. Python3.5学习十八 Python之Web框架 Django

    Python之Web框架: 本质:Socket 引用wsgiref创建web框架 根据web框架创建过程优化所得: 分目录管理 模板单独目录 执行不同函数单独存入一个方法py文件 Web框架的两种形式 ...

  4. Java学习十八

    学习内容: 1.Java集合 1.自定义的set类添加重复数据需要在实体类中添加hashcode和equals方法. 2.查找set对象信息(以宠物猫为例) //在集合中查找花花的信息并输出 if(s ...

  5. Salesforce LWC学习(十八) datatable展示 image

    本篇参看: https://developer.salesforce.com/docs/component-library/bundle/lightning-datatable/documentati ...

  6. Linux学习十八之、善用判断式

    原文地址:http://vbird.dic.ksu.edu.tw/linux_basic/0340bashshell-scripts_3.php 善用判断式 在第十一章中,我们提到过 $? 这个变量所 ...

  7. MYSQL数据库学习十八 数据库维护和性能提高

    18.1 数据备份 可能造成数据损失的原因有: 存储介质故障:保存数据库文件的磁盘设备损坏,用户没有数据库备份导致数据彻底丢失. 用户的错误操作:如误删了某些重要数据,甚至整个数据库. 服务器的彻底瘫 ...

  8. JavaWeb学习 (十八)————JSP标签

    一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...

  9. spring学习 十八 spring的声明事物

    1.编程式事务: 1.1 由程序员编程事务控制代码.commit与rollback都需要程序员决定在哪里调用,例如jdbc中conn.setAutoCimmit(false),conn.commit( ...

  10. Spring学习(十八)----- Spring AOP+AspectJ注解实例

    我们将向你展示如何将AspectJ注解集成到Spring AOP框架.在这个Spring AOP+ AspectJ 示例中,让您轻松实现拦截方法. 常见AspectJ的注解: @Before – 方法 ...

随机推荐

  1. QuickStart系列:docker部署之MariaDB

    Centos7里面没有Mysql 取而代之的是MariaDB,MariaDB是完全开源的.MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的 ...

  2. 浅谈Linux系统运维工程师必备技能

    一.什么是运维工程师 相信读者们必定听说过Linux,也听说过运维工程师.那么运维工程师是个什么概念呢? 百度百科上的官方解释如下: 运维工程师(Operations)在国内又称为运维开发工程师(De ...

  3. unity中键盘WASD控制。(WS控制物体前后移动,AD控制左右旋转。)

    private float rotateSpeed = 30f; private float movespeed = 5; void FixedUpdate() { //第一种控制移动 float h ...

  4. [Leetcode 44]通配符匹配Wildcard Matching

    [题目] 匹配通配符*,?,DP动态规划,重点是*的两种情况 想象成两个S.P长度的字符串,P匹配S. S中不会出现通配符. [条件] (1)P=null,S=null,TRUE (2)P=null, ...

  5. mysql中sql查询使用注意

    1.注意DESC关键字仅适用于在它前面的列名(birth):不影响species列的排序顺序. SELECT name, species, birth FROM pet ORDER BY specie ...

  6. 自旋锁(Spin Lock)

    转载请您注明出处:    http://www.cnblogs.com/lsh123/p/7400625.html 0x01 自旋锁简介 自旋锁也是一种同步机制,它能保证某个资源只能被一个线程所拥有, ...

  7. dialog销毁不干净与弹出多个dialog问题

    1.关闭dialog的时候不销毁.重新打开然后影响页面的效果与样式. 原因: dialog的close()只是将html片段隐藏,并没有销毁移除. 解决方式: 打开dialog的时候在写onClose ...

  8. 你真的会使用Github吗?

    快捷键 r 快速引用 你可以选中别人的评论文字,然后按r,这些内容会以引用的形式被复制在文本框中: t:搜索文件 s:光标定位到搜索窗口 w:选择分支 g n Go to Notifications ...

  9. leetcode57:插入区间

    给出一个无重叠的 ,按照区间起始端点排序的区间列表. 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间). 示例 1: 输入: intervals = [ ...

  10. kbmMW基于硬件生成随机数

    按作者的说法,Delphi提供的生成随机数不是真正随机的,因为他是根据种子计算的,即种子+算法生成的随机数,如果被人知道原始种子值和算法的调用次数,则可以重现随机数,因此在安全领域,这是不安全的.同时 ...