C语言--指针一般在什么时候需要申请内存空间
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语言--指针一般在什么时候需要申请内存空间相关推荐
- 【C 语言】变量本质 ( 变量概念 | 变量本质 - 内存空间别名 | 变量存储位置 - 代码区 | 变量三要素 )
文章目录 一.变量概念 二.变量本质 1.变量本质 - 内存别名 2.变量存储位置 - 代码区 3.变量三要素 一.变量概念 变量概念 : 变量 是 既能读 , 又能写 的 内存对象 ; 与 变量 相 ...
- C语言动态申请内存空间之malloc(),calloc(),realloc()函数
在C语言中用于动态申请内存空间的函数主要为malloc()函数,calloc()函数,以及realloc()函数,以下主要介绍三个函数的用法,区别以及使用时的注意事项. malloc(),calloc ...
- c语言回收字符串空间,C语言基础知识(字符串,函数,内存空间)
C 语言重点 arc4random() //产生一个随机数arc4random()A 随即数对41取余 得到0-40的数余数是正数 arc4random() % 11 + 20// 20 -30的数公 ...
- C语言动态申请内存空间
为什么要动态内存申请 1.定义数组的时候数组的长度是预先定义好的,在整个程序中固定不变; 2.但是在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入的数据,而无法预先确定 3.为了解决 ...
- C语言在子函数中调用malloc申请内存的方法【转】
(转自:https://blog.csdn.net/HuffieWang/article/details/51744043) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...
- visual studio C语言指针提示:使用未初始化的内存xx
因为定义指针后直接使用: *p = *x; 这样的语句,虽然只是告警并未显示错误,但这样做确实是超出规则了,如果只看左边,p相当于是个野指针,*p当然是不行的 直接用 p = x 就没有问题 别乱用就 ...
- C语言动态二维数组,结构体动态申请内存空间
在C语言中,申请一般数组时,数组大小必须是常量.即使是赋了特定值的变量,也不行,比如:int n=3;int a[3];这样的做法是错误的,我们需要动态申请数组内存,如下申请一个动态整数(int)二维 ...
- c语言指针尚观嵌入式,C语言-指针
本文目录 •直接引用 •一.什么是指针? •二.指针的定义 •三.指针的初始化 •四.指针运算符 •五.指针的用途举例 •六.关于指针的疑问 指针是C语言中非常重要的数据类型,如果你说C语言中除了指针 ...
- C 语言指针 5 分钟教程
指针.引用和取值 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量.在这份教程里"引用"表示计算机内存地址.从指针指向的内存读取数据称作指针的取值 ...
最新文章
- 人工智能学习体系大纲(src:http://blog.sina.com.cn/s/blog_7dbb766f0102xdwu.html)
- ARKit从入门到精通(4)-ARKit全框架API大全
- 8086控制转移指令学习笔记
- 状态管理工具vuex的基本使用(vuebus的理解)
- java jstack 工具_java命令之jstack工具
- 小白学Linux(一:开门见山)
- 跳转定义_解决tensorflow2.0在Pycharm中的自动补全及跳转定义问题
- [C#] readonly vs const
- 用Java写一个递归遍历目录下面的所有文件
- 虚拟机win7纯净版镜像_win7旗舰版-虚拟机镜像文件怎么下载安装
- 使用微PE工具箱制作U盘启动盘
- java天津与深圳,国内最可惜的城市:GDP曾是深圳的38倍,如今GDP被反超万亿!
- [ERROR] InnoDB: Write to file (merge)failed at offset 4249878528, 1048576 bytes should have been wri
- 2022考研肖秀荣精讲精练pdf电子版
- 重写与重载(摘抄笔记)
- 对于计算机了解的知识,学电脑应该了解哪些基本知识
- 每日一诗词 —— 热爱生命
- c++primer第十六章模板特例化
- JAVA XML转对象 对象转XML
- 数电_第九章_数模模数转换
热门文章
- TPS 是一种糟糕的评价标准
- [Python面试][基础算法题]Python基础面试(基础算法题目较多)
- c语言高精度算法(加法)
- 【DASH】低延迟流式传输和新算法
- 按f5html页面变了,各位老板,十万火急!html页面radio默认选中一个按F5键不变?...
- pythonocc常见问题集锦
- 硬件行业知识体系概要【转】
- 【拓扑排序专题】Openjudge百练 4084 拓扑排序
- 虚拟机Hadoop localhost:8080无法打开解决办法
- myBatis中通过map集合传入数据查询结果为空