1. 指针所指向的地址需要存放数据的时候需要申请空间。

int *q;只有地址,没有内存空间。这个地址是随机地址。

(1)没有申请内存空间:

int *q;
*q = 1;
cout<<*q<<endl;

错误! 指针变量q没有空间,不能直接存放数据。

(2)申请内存空间:

int *q = new int;
*q = 1;
cout<<*q<<endl;

正确,存放数据之前给指针变量申请了一个int类型大小的堆内存空间。

2. 对比:

int *q;
*q = 1;

错误!q没有指向一块内存空间,不能直接存放数据。

int *q, a = 1;
q = &a;

正确,两次q的地址不一样。q=&a:q指向变量a所在的内存空间,变量a是一个int型,在内存中有大小为int类型的内存空间。算是间接地给q分配了空间吧。

C语言--指针一般在什么时候需要申请内存空间相关推荐

  1. 【C 语言】变量本质 ( 变量概念 | 变量本质 - 内存空间别名 | 变量存储位置 - 代码区 | 变量三要素 )

    文章目录 一.变量概念 二.变量本质 1.变量本质 - 内存别名 2.变量存储位置 - 代码区 3.变量三要素 一.变量概念 变量概念 : 变量 是 既能读 , 又能写 的 内存对象 ; 与 变量 相 ...

  2. C语言动态申请内存空间之malloc(),calloc(),realloc()函数

    在C语言中用于动态申请内存空间的函数主要为malloc()函数,calloc()函数,以及realloc()函数,以下主要介绍三个函数的用法,区别以及使用时的注意事项. malloc(),calloc ...

  3. c语言回收字符串空间,C语言基础知识(字符串,函数,内存空间)

    C 语言重点 arc4random() //产生一个随机数arc4random()A 随即数对41取余 得到0-40的数余数是正数 arc4random() % 11 + 20// 20 -30的数公 ...

  4. C语言动态申请内存空间

    为什么要动态内存申请 1.定义数组的时候数组的长度是预先定义好的,在整个程序中固定不变; 2.但是在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入的数据,而无法预先确定 3.为了解决 ...

  5. C语言在子函数中调用malloc申请内存的方法【转】

    (转自:https://blog.csdn.net/HuffieWang/article/details/51744043) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...

  6. visual studio C语言指针提示:使用未初始化的内存xx

    因为定义指针后直接使用: *p = *x; 这样的语句,虽然只是告警并未显示错误,但这样做确实是超出规则了,如果只看左边,p相当于是个野指针,*p当然是不行的 直接用 p = x 就没有问题 别乱用就 ...

  7. C语言动态二维数组,结构体动态申请内存空间

    在C语言中,申请一般数组时,数组大小必须是常量.即使是赋了特定值的变量,也不行,比如:int n=3;int a[3];这样的做法是错误的,我们需要动态申请数组内存,如下申请一个动态整数(int)二维 ...

  8. c语言指针尚观嵌入式,C语言-指针

    本文目录 •直接引用 •一.什么是指针? •二.指针的定义 •三.指针的初始化 •四.指针运算符 •五.指针的用途举例 •六.关于指针的疑问 指针是C语言中非常重要的数据类型,如果你说C语言中除了指针 ...

  9. C 语言指针 5 分钟教程

    指针.引用和取值 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量.在这份教程里"引用"表示计算机内存地址.从指针指向的内存读取数据称作指针的取值 ...

最新文章

  1. 人工智能学习体系大纲(src:http://blog.sina.com.cn/s/blog_7dbb766f0102xdwu.html)
  2. ARKit从入门到精通(4)-ARKit全框架API大全
  3. 8086控制转移指令学习笔记
  4. 状态管理工具vuex的基本使用(vuebus的理解)
  5. java jstack 工具_java命令之jstack工具
  6. 小白学Linux(一:开门见山)
  7. 跳转定义_解决tensorflow2.0在Pycharm中的自动补全及跳转定义问题
  8. [C#] readonly vs const
  9. 用Java写一个递归遍历目录下面的所有文件
  10. 虚拟机win7纯净版镜像_win7旗舰版-虚拟机镜像文件怎么下载安装
  11. 使用微PE工具箱制作U盘启动盘
  12. java天津与深圳,国内最可惜的城市:GDP曾是深圳的38倍,如今GDP被反超万亿!
  13. [ERROR] InnoDB: Write to file (merge)failed at offset 4249878528, 1048576 bytes should have been wri
  14. 2022考研肖秀荣精讲精练pdf电子版
  15. 重写与重载(摘抄笔记)
  16. 对于计算机了解的知识,学电脑应该了解哪些基本知识
  17. 每日一诗词 —— 热爱生命
  18. c++primer第十六章模板特例化
  19. JAVA XML转对象 对象转XML
  20. 数电_第九章_数模模数转换

热门文章

  1. TPS 是一种糟糕的评价标准
  2. [Python面试][基础算法题]Python基础面试(基础算法题目较多)
  3. c语言高精度算法(加法)
  4. 【DASH】低延迟流式传输和新算法
  5. 按f5html页面变了,各位老板,十万火急!html页面radio默认选中一个按F5键不变?...
  6. pythonocc常见问题集锦
  7. 硬件行业知识体系概要【转】
  8. 【拓扑排序专题】Openjudge百练 4084 拓扑排序
  9. 虚拟机Hadoop localhost:8080无法打开解决办法
  10. myBatis中通过map集合传入数据查询结果为空