C语言知识点中的指针如何分析
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,C语言知识点中的指针如何分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。指针是C的灵魂,没有学会指针就相当于没有学过C指针的定义:指针
千家信息网最后更新 2025年01月17日C语言知识点中的指针如何分析
C语言知识点中的指针如何分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
指针是C的灵魂,没有学会指针就相当于没有学过C
指针的定义:指针就是内存单元的编号(编号>=0)
指针变量是存放内存单元编号的变量(存放地址的变量)
指针 & 指针变量是不同的
e.g:普通变量a的地址是1000H,可以称a的指针是1000H 但是绝对不能说a的指针变量是1000H
指针是一个操作受限的非负整数:比如2个地址相乘是没有意的 故不能做乘法操作,所以说指针是受限的
指针为什么重要?
(1).快速的传递数据,减少内存的使用
(2).可以使函数返回一个以上的值
(3).可以直接访问物理硬件
(4).可以方便的处理字符串
(5).是理解面向对象语言中"引用"功能的基础
(6).可以表示一些复杂的数据结构
指针的分类:
1.基本类型指针(重点):int *i//变量名:i int *表示i变量存放的是int类型变量的地址
e.g:
int *i; int a = 10; i = a//error:i & a 虽然都是变量 但是i 是指针变量 a是普通变量 类型不同不能赋值 i = &a;//True &是取地址符号 &a表示取变量a的地址;把a的地址赋值给指针变量i printf("*i = %d\n",*i)//输出结果:*i = 3 i获取到a的地址后*i 表示指向了a *i = a;
经典的例子加深对指针的理解:互换2个数字(之前使用的是普通变量,现在使用指针&函数)
#includevoid swap(int p,int q){ int t; t = p; p = q; q = t; return;}//swap 不能完成互换,只是互换了形参的值 主函数中的实参值并未互换 void swap1(int *p,int *q){ int *t; t = p; p = q; q = t;}//swap1 不能完成 a b的值互换,只是互换指针变量 void swap2(int *p,int *q){ int t; t = *p;//*p =a ,*q=b *p = *q; *q = t;}//swap2 互换成功 int main(void){ int a,b; a = 5; b = 9; swap(a,b); printf("a = %d,b = %d\n",a,b); swap1(&a,&b); printf("a = %d,b = %d\n",a,b); swap2(&a,&b); printf("a = %d,b = %d\n",a,b); return 0;}/* 输出结果: a = 5,b = 9 a = 5,b = 9 a = 9,b = 5 总结:思考:printf 为什么不能放在被调函数中? 题目的要求是:互换a b的值 而非被调函数的值互换 测试结果: 1.swap只是被调函数的形参值互换了 主函数中的实盘并没有互换 2.swap1 只是互换 a b地址的存储位置 并没有互换 a b地址中的值 **3.swap2 为什么会成功?原因很简单哦 swap2的功能是把 a b地址中的值互换了 简单说:a b是被划分出来的2个静态地址 5,9是存放在地址中的值 swap2功能是把 2个地址中的 5 9互换 一旦地址中的值达到互换即 a b的值完成了互换***/
看完上述内容,你们掌握C语言知识点中的指针如何分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
指针
变量
地址
函数
只是
语言
普通
内存
功能
类型
结果
知识
知识点
分析
不同
成功
内容
单元
原因
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
四川工程软件开发价格
通过域名连接数据库
中国企业数据库
市南区软件开发的优势
数据库技术与应用习题带答案
中学网络安全的主题
优化数据库大小
网络安全 杨
数据库使用标签的目的
维护维护网络安全主要靠技术
深圳梅林app软件开发公司
免费远程桌面服务器
云存储服务器 最大支持下载数
传统行业软件开发工资低
成品软件开发测评报告
魔兽世界蜥蜴人数据库
数据库的两种身份验证的区别
数据库性能排名2019
c dbf数据库
网上花店数据库技术
不属于软件开发的工具
高一网络安全教育
数据库两个字段相加最小值
公司完成网络安全保障任务
日本互联网有什么科技
网络技术问题 半个月没解决
软件开发提测
万方数据库基金文献在哪里
网络安全教育工作要点
网络安全领域 证书