指针必须初始化才能使用

指针的使用之一:初始化 在使用指针时如果出现了错误,第一步我们首先检查指针是否正确的进行了初始化。指针总是指向一个地址的,因此在检查初始化是否正确的时候, 可以关注一下,“=”号的右边是不是一个地址。 指针的初始化主要有两大类方法: 一是给指针变量初始化一个在内存中已经存在的地址;二是通过指针变量申请一块新的内存并赋初值。 接下来从这三个方面来详细列出: **一是给指针变量初始化一个在内存中已经存在的地址,**常用的有... 阅读详情
//指针变量说明中,"*"是类型说明符,表示其后的变量是指针类型。而表达式中出现的"*"则是一个运算符用来表示指针变量所指的变量。
//下面的语句会出现“ The variable 'temp' is being used without being initialized."的错误;
//这说明指针必须要先初始化才可以使用,比如pointer_1和pointer_2
#include "stdio.h"
void swap(int *p1, int *p2)
{
	int *temp;
	*temp=*p1;
	*p1=*p2;
	*p2=*temp;
}

void main()
{
	int a,b;
	int *pointer_1,*pointer_2;
	scanf("%d,%d",&a,&b);
	pointer_1=&a;
	pointer_2=&b;
	if (a<b)
		swap(pointer_1,pointer_2);
	printf("\n%d,%d\n",a,b);
}

用断点可以发现指针变量一开始被赋值为"0xcccccccc“,这个地址是无效地址,不能被直接使用。
//下面是正确的程序,注意swap()的区别:

#include "stdio.h"
void swap(int *p1, int *p2)
{
	int temp;
	temp=*p1;
	*p1=*p2;
	*p2=temp;
}

void main()
{
	int a,b;
	int *pointer_1,*pointer_2;
	scanf("%d,%d",&a,&b);
	pointer_1=&a;
	pointer_2=&b;
	if (a<b)
vs2019使用函数指针时编译出现了“使用了可能未初始化的本地指针变量”错误 问题描述      vs2019使用函数指针时编译出现了“使用了可能未初始化的本地指针变量” ? /********************************************************* * 文件名:MyCalc.h * 作者:WartenSIE * 时间:2021-11-13 * 描述:加减乘除运算实现 函数指针实现 * 邮箱:wartensie123@163.com *********************************** 阅读详情

相关推荐

空指针的使用—未初始化的指针,空指针跟坏指针

#include <stdio.h> #include <stdlib.h> int main(void){ int room1 = 666; int room2 = 999; //int *sp=0; 空指针 就是值为零的指针 int *sp = NULL; //指针设置为空 int ap; printf("请输入你的房间号:"); scanf_s("%d", &ap); //指针在未设置为零的情况下 地址可以理解为随机 printf(".

零界 561

程序崩溃的调试方法

常见的运行错误导致程序崩溃的调试方法,Visual studio,VC++均可

运行stable-diffusion出现的问题

解决:即用 https://github.com/CompVis/taming-transformers/blob/master/taming/modules/vqvae/quantize.py 新文件,替换错误提示文件中的全部内容即可。5.新建文件夹 CompVis/stable-diffusion-safety-checker/将下载的四个文件放入 解决!后面还会遇到'openai/clip-vit-large-patch14离线下载的问题,同样步骤解决。解决:下载后离线,步骤如下。

weixin_52121118的博客 2348

HC-SR04测距不准?STM32F103定时器捕获模式详解与精度提升实战

本文详细解析了HC-SR04超声波测距模块在STM32F103上的精度问题,并提供了定时器输入捕获模式的实战配置方法。通过硬件级时间测量和温度补偿算法,将测距精度提升至±0.1cm,适用于工业级应用场景。文章包含完整的代码实现和测试对比数据,帮助开发者解决超声波测距不准的常见问题。

weixin_30313409的博客 351

【有啥问啥】智能座舱CPD技术:毫米波雷达如何守护儿童安全?

本文深入探讨了智能座舱中CPD(Child Presence Detection)技术如何通过毫米波雷达保障儿童安全。毫米波雷达凭借其穿透性检测、微动感知等优势,成为儿童遗留车内的有效解决方案。文章详细解析了技术原理、系统集成方案及安装指南,为智能座舱安全技术提供了实用参考。

weixin_29193259的博客 357

细说STM32单片机SPI-Flash芯片的FatFS移植及其应用实例详解

本文以开发板上的SPI-Flash芯片W25Q16为媒介详细介绍CubeMX中FatFS各个参数的意义和设置,分析生成的代码中FatFS各个文件的作用和关联,完成针对W25Q16的硬件访问层的移植。继续使用旺宝红龙开发板STM32F407ZGT6 KITV1.0。

wenchm的博客 1638

新手必看:TwinCAT死活扫不到倍福CX5020?别慌,先检查这3个地方(附静态IP配置)

本文详细介绍了TwinCAT软件无法扫描到倍福CX5020控制器的常见问题及解决方案。从网络连通性检查、系统环境配置到静态IP设置,提供了一套完整的排查流程和优化建议,帮助新手快速解决通信问题,确保设备稳定运行。

weixin_27219587的博客 363

基于PID算法的循迹小车

这一期为创客们带来基于PID算法的循迹小车制作 1.标准赛道示意图: (该赛道包含了:左直角、右直角、十字路口等路况) 2.灰度传感器安装示意图: (可根据实际情况调节各传感器之间的间距) 3.硬件原理图: 4.控制逻辑: 5.程序如下: #define leftA_PIN 7 #define leftB_PIN 6 #define left_Pwm_PIN 5 #define STBY...

qq_44343584的博客 4万+

CMOS图像传感器——工作原理

CMOS图像传感器的曝光与读出

沧海一升的博客 9459

innovus:像ICC2一样设置placement label

ICC2有placement label/placement rule功能,能控制各种类型cell 之间的spacing规则,包括top和bottom edge的spacing。innovus也有相同的功能,以下示例方便大家了解用法。我们需要给所有OAI* cell之间设置一个spacing rule,让他们不要上下或者挨着。效果如下图,这个spacing指的是同一边的间距,不是cell间距。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 833

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 多参数函数编译器按何种顺序处理
下一篇: 字符串与char数组的指针表示
Softwaregg
博客等级 码龄15年 19粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值