C语言基础语法第六章指针 demo1_指针的引入

C语言基础语法第六章指针 demo1_指针的引入

//指针 == 地址 变量访问的两种方式 (要到到达一个地方可以通过名字 也可以通过地址 找到这个地方)
在这里插入图片描述

#include <stdio.h>
//指针 == 地址   变量访问的两种方式 (要到到达一个地方可以通过名字 也可以通过地址 找到这个地方)
int main()
{
	int a = 10;
	printf("a=%d\n",a);
	printf("a的地址是:0x%p\n",&a);
	printf("a=%d\n",*(&a));//取值运算符,他把后面跟的内存地址中的数据 取出来
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的 C 语言 demo,演示如何使用 `request_irq()` 函数注册中断处理函数: ```c #include <linux/kernel.h> #include <linux/module.h> #include <linux/interrupt.h> static irqreturn_t my_irq_handler(int irq, void *dev) { // 中断处理函数的具体实现 printk(KERN_INFO "my_irq_handler called\n"); return IRQ_HANDLED; } static int __init my_init(void) { int irq = 10; // 假设要注册的中断号是 10 int ret; // 注册中断处理函数 ret = request_irq(irq, my_irq_handler, IRQF_SHARED, "my_irq", NULL); if (ret) { printk(KERN_ERR "request_irq failed\n"); return ret; } printk(KERN_INFO "my_init called\n"); return 0; } static void __exit my_exit(void) { int irq = 10; // 假设要注销的中断号是 10 // 注销中断处理函数 free_irq(irq, NULL); printk(KERN_INFO "my_exit called\n"); } module_init(my_init); module_exit(my_exit); MODULE_LICENSE("GPL"); ``` 这个 demo 中,首先定义了一个中断处理函数 `my_irq_handler()`,当中断发生时,会调用该函数进行处理。然后,在 `my_init()` 函数中,调用 `request_irq()` 函数注册中断处理函数,将中断号设为 10,中断处理函数设为 `my_irq_handler()`,中断处理标志设为 IRQF_SHARED,中断处理函数的名称设为 "my_irq",设备指针设为 NULL。如果注册成功,就会输出 "my_init called"。如果注册失败,就会输出 "request_irq failed"。在 `my_exit()` 函数中,调用 `free_irq()` 函数注销中断处理函数,将中断号设为 10,设备指针设为 NULL。最后,输出 "my_exit called"。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值