c语言指针的问题
时间:2019-08-21
本文章向大家介绍c语言指针的问题,主要包括c语言指针的问题使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
C语言中指针的问题:
C语言中使用指针的时候是默认初始化指向一个不能被写入数据的地址。
int* a;
*a=3;
printf("指针a的值是:%d",a);
printf("指针a指向的值是:%d",*a);
这样编译不会出错但是运行就无法对a指向的内存赋值,运行会出错。所
以应该改为
int* a;
int b=3;
a=&b;
printf("指针a的值是:%d\n",a);
printf("指针a指向的值是:%d\n",*a);
一般我们在使用指针的时候为了不出现“野”指针,我们会给指针初始化一
个值,如果实在不知道指针应该指向何处我们会先将指针指向NULL,那么
指向NULL的指针又有什么特性呢:
int* a=NULL;
//int b=3;
*a=3;
printf("指针a的值是:%d\n",a);
printf("指针a指向的值是:%d\n",*a);
编译也是不会出错,但是运行就会出现问题,修改为:
int* a=NULL;
int b=3;
a=&b;
printf("指针a的值是:%d\n",a);
printf("指针a指向的值是:%d\n",*a);
这样就没问题了,我们会发现指向NULL和默认指向没啥区别啊,为啥要这
么指向呢?NULL文明默认指向就野蛮了?应该是在编译器中别人默认了指
向,NULL确实文明。
总结:指针指向NULL或者默认地址的时候不能往里面写数据,必需指向一
个地址了再向地址中写数据。
原文地址:https://www.cnblogs.com/xxiaoufo/p/11387820.html
- Android网络编程(三)Volley用法全解析
- Android网络编程(八)源码解析OkHttp中篇[复用连接池]
- Mybatis SqlSessionTemplate 源码解析
- MapperScannerConfigurer处理过程源码分析
- Spring Boot中使用Actuator的/info端点输出Git版本信息
- Spring Batch:文件的批量读写Flatfile(XML,CSV,TXT)
- 项目本机部署过程中的若个问题
- Android View体系(十一)自定义ViewGroup
- Java并发编程(四)Java内存模型
- Android View体系(十)自定义组合控件
- 算法(一)时间复杂度
- Android Studio详细安装流程和配置、主题
- html5 jqueryrotate插件实现旋转动画
- 为什么要使用String
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 跟我一起 自己种一颗 AVL树(平衡二叉搜索树)吧!
- mybatis文件映射之利用collection定义关联集合(五)
- 【奇技淫巧】 -- 原地旋转数组
- mybatis文件映射之利用延迟加载解决collection分布查询(六)
- 【C++】攻克哈希表(unordered_map)
- 位图原理及实现 - 海量数据处理标配
- mybatis文件映射之利分布查询时传递多列值 (七)
- 位运算 - 初见
- Mybatis学习笔记(一)
- mybatis文件映射之鉴别器discriminator标签
- LeetCode刷题总结 -- 链表篇
- LeetCode刷题总结 -- 数组篇
- 剑指offer(07-09)题解
- 学以致用C++设计模式 之 “适配器模式”
- FTP文件管理项目(本地云)项目日报(九)