c语言中的指针是什么针的定义,此针非彼针:C语言中的指针是如何使用的?

我们先来定义一个指针变量a,然后b将把变量的地址分配给指针,最后c将访问指针变量中可用地址的值。以上运算都是通过一元运算符*来完成的,该运算符将返回指定地址的变量值,请看一下示例:

#include int main () {

int var = 20; /* actual variable declaration */

int *ip; /* pointer variable declaration */

ip = &var; /* store address of var in pointer variable*/

printf("Address of var variable: %x\n", &var );

/* address stored in pointer variable */

printf("Address stored in ip variable: %x\n", ip );

/* access the value using the pointer */

printf("Value of *ip variable: %d\n", *ip );

return 0;}

当上述代码被编译执行后,将反馈以下结果:

Address of var variable: bffd8b3c

Address stored in ip variable: bffd8b3c

Value of *ip variable: 20

“文艺”指针的用法

将NULL值分配给指针变量算是个好习惯,这样可以防止程序因为指针而崩溃,我们有时看到的程序非法操作而被终止运行就是因为指针问题。NULL等同于0,请看下列执行程序:

#include int main () {

int *ptr = NULL;

printf("The value of ptr is : %x\n", ptr );

return 0;}

当上述代码被编译执行后,将反馈以下结果:

The value of ptr is 0

在大多数操作系统中,程序是不允许访问地址为0的内存,因为是由操作系统保留的位置。内存地址为0具有特殊的意义,它表示指针不指向任何可以访问的内存地址。按照习惯,如果一个指针包含NULL值(0)值,则假定它不指向任何地址。如果要检查一个空指针,可以使用if语句,比如这么玩:

if(ptr) /* succeeds if ptr is not null */

if(!ptr) /* succeeds if ptr is null */

“二逼”指针的用法

比如下面这位大佬,他为指针分配分配了一个值“ptr”。估计是穿着女装上班精神不太集中,就忘了ptr是用于存储变量地址的指针变量:

int * ptr , m = 100 ;

ptr = m ; //这行上的错误

更正后:

ptr =&m;

今天给大家的C语言“指针”进阶教程大家还满意吗?如果你希望能学到更多知识,赶快退掉那些无趣的咸鱼群吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 JavaScript 编写的记忆游戏(附源代码)   项目:JavaScript 记忆游戏(附源代码) 记忆检查游戏是一个使用 HTML5、CSS 和 JavaScript 开发的简单项目。这个游戏是关于测试你的短期 记忆技能。玩这个游戏 时,一系列图像会出现在一个盒子形状的区域 。玩家必须找到两个相同的图像并单击它们以使它们消失。 如何运行游戏? 记忆游戏项目仅包含 HTML、CSS 和 JavaScript。谈到此游戏的功能,用户必须单击两个相同的图像才能使它们消失。 点击卡片或按下键盘键,通过 2 乘 2 旋转来重建鸟儿对,并发现隐藏在下面的图像! 如果翻开的牌面相同(一对),您就赢了,并且该对牌将从游戏消失! 否则,卡片会自动翻面朝下,您需要重新尝试! 该游戏包含大量的 javascript 以确保游戏正常运行。 如何运行该项目? 要运行此游戏,您不需要任何类型的本地服务器,但需要浏览器。我们建议您使用现代浏览器,如 Google Chrome 和 Mozilla Firefox, 以获得更好、更优化的游戏体验。要玩游戏,首先,通过单击 memorygame-index.html 文件在浏览器打开游戏。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值