c语言中指针的一个小错误

在定义指针后需要给指针赋值然后才能使用*p赋值或被赋值,这是个基础问题,没有理解,导致出问题。

空指针 ,也称悬 游指 针 ,是使 用 未初 始化 的指 针 。
指针变量未初始化时它的值不是没有 ,而是一个不确
定值 ,它 的指 向也 是 不确 定 的,可 能 会 破 坏 系 统 正 常
工作状 态 ,出现灾难 性后果 。
例 :
m ain ( )
{int a = 10 , *p a ;
*p a = a :
*pa +=5 ;
prin tf (“a=%d ”, p a) ;
)
本例中的程序本意是利用指 针将变量 a 的值增
加 5,但 由于指针 pa 未初始化 ,指 向的是 内存 中某一
未知的位置,即指针 pa 本身是不确定 的。因此数据
不能被正确进行运算。在使用指针前使其指向一个
有效 的地 址 ,将 * pa=a;改 为 pa=& a;,即可 实 现相
应 的功 能 。

时间: 2024-11-07 11:55:19

c语言中指针的一个小错误的相关文章

C语言中指针和数组

C语言数组与指针的那些事儿 在C语言中,要说到哪一部分最难搞,首当其冲就是指针,指针永远是个让人又爱又恨的东西,用好了可以事半功倍,用不好,就会有改不完的bug和通不完的宵.但是程序员一般都有一种迷之自信,总认为自己是天选之人,明知山有虎,偏向虎山行,直到最后用C的人都要被指针虐一遍. 指针 首先,明确一个概念,指针是什么,一旦提到这个老生常谈且富有争议性的话题,那真是1000个人有1000种看法. 在国内的很多教材中,给出的定义一般就是"指针就是地址",从初步理解指针的角度来说,这种

JavaScript中易犯的小错误-------常见错误五:低效的DOM操作

JavaScript中易犯的小错误-------常见错误五:低效的DOM操作js中的DOM基本操作非常简单,但是如何能有效地进行这些操作一直是一个难题.这其中最典型的问题便是批量增加DOM元素.增加一个DOM元素是一步花费很大的操作.而批量增加对系统的花销更是不菲.一个比较好的批量增加的办法便是使用 document fragments :var div = document.getElementsByTagName("my_div");var fragment = document.

JavaScript中易犯的小错误-------常见错误三:内存泄露

国庆放假,今天开始继续!!!!!!!!!!! JavaScript中易犯的小错误-------常见错误三:内存泄露 内存泄露在js变成中几乎是一个无法避免的问题.如果不是特别细心的话,在最后的检查过程中,肯定会出现各种内存泄露问题.下面我们就来举例说明一下:var theThing = null;var replaceThing = function () {     var priorThing = theThing;     var unused = function () {       

JavaScript中易犯的小错误-------常见错误四:比较运算符

JavaScript中易犯的小错误-------常见错误四:比较运算符JavaScript中一个比较便捷的地方,便是它可以给每一个在比较运算的结果变量强行转化成布尔类型.但是从另一方面来考虑,有时候它也会为我们带来很多不便,下面的这些例子便是一些一直困扰很多程序员的代码实例:console.log(false == '0');console.log(null == undefined);console.log(" \t\r\n" == 0);console.log('' == 0);

c语言中指针悬空

Windows编程基础 创建一个Win32应用程序Ex_SDK,在程序中构造一个编辑框控件和一个按钮.编辑框用于输入一元二次方程的系数,各系数之间用逗号分隔,当单击"计算"按钮,获取方程系数,然后将求得的根通过TextOut显示在窗口客户区中. 实验准备和说明 (1)具备知识:简单的SDK编程基础. (2)准备本次上机所需要的程序. (3)创建本次实验工作文件夹"-\网络编程实验\实验1" 实验内容和步骤 1.启动Visual C++ 6.0 打开计算机,启动Vis

JavaScript中易犯的小错误-------常见错误七:原型继承问题

JavaScript中易犯的小错误-------常见错误七:原型继承问题 很大一部分的js开发者都不能完全掌握原型的继承问题.下面具一个例子来说明:BaseObject = function(name) {if(typeof name !== "undefined"){ this.name = name; }else{ this.name = 'default' } };这段代码看起来很简单.如果你有name值,则使用它.如果没有,则使用 ‘default’:var firstObj

JavaScript中易犯的小错误-------常见错误二:传统编程语言的生命周期误区

JavaScript中易犯的小错误-------常见错误二:传统编程语言的生命周期误区另一种易犯的错误,便是带着其他编程语言的思维,认为在JS中,也存在生命周期这么一说.请看下面的代码:for (var i = 0; i < 10; i++) { /* ... */ } console.log(i);如果你认为在运行console.log() 时肯定会报出 undefined 错误,那么你就大错特错了.我会告诉你其实它会返回 10吗.当然,在许多其他语言当中,遇到这样的代码,肯定会报错.因为i明

(转)Web开发中最致命的小错误

Web开发中最致命的小错误 现在,有越来越多所谓的“教程”来帮助我们提高网站的易用性.本文收集了一些在 Web 开发中容易出错和被忽略的小问题,并且提供了参考的解决方案,以便于帮助 Web 开发者更好的完善网站. 通过避免下面这些小错误,可以使得我们的网站变得更为友好. 错误1:表单的 label 标签跟表单字段没有关联 利用“for”属性允许用户单击 label 也可以选中表单中的内容.这可以扩大复选框和单选框的点击区域,非常实用. 错误2:logo 图片没有链接到主页 点击网站 logo 就

C语言中指针的指针是如何工作的?

  我们有时看到这样地饿代码: int *ptr = &x; 这里,ptr是一个指向x在内存中的地址的指针. 假设有另外一条语句是这样地的: int **ptr2 = &ptr; 我们定义了一个指向指针的指针. 假设我们的计算机是8bit的,地址也是8bit(因此只有256字节的内存).下图代表内存的一部分(上面的一排数字代表地址).   45   55   56   57   58   59   60   61   62   63   64   65   66   67   68   6