最新要闻
- 没有5G卖4G的华为手机比苹果还牛:消息称逆势上调全年出货量目标 全行业第一家|天天精选
- 1499元!小度青禾学习手机开启预售:一机顶6台 立省1万元
- 热门看点:400年前的画里有男孩穿耐克鞋 网友称穿越:还有百年前画作出现iPhone
- 全红婵的水花让物理学不存在了 网友点赞:物理学对她不适用|全球观热点
- 一个月没找到 美国30吨爆炸性化学品铁路运输时丢失:科普硝酸铵理化性质-世界热点
- 快报:中国抗体-B(03681.HK):SM17新药研究申请获国家药监局药品审评中心受理
- 印为何收回2000卢比纸币?专家:缓解银行流动性危机和加息压力
- BLG夺《英雄联盟》MSI亚军 B站:BLG粉丝赠送一年大会员 全球微动态
- 比亚迪汉DM-i冠军版/DM-p战神版爆火!3天订单破1.3万辆:女车主高达37.2%
- 盖茨再爆与20多岁俄女子发生婚外情 遭美国淫魔富豪威胁 全球速看料
- 世界快播:雅顿橘灿精华使用方法 雅顿橘灿精华用在哪个步骤
- JDG战胜BLG夺《英雄联盟》MSI冠军!官方发福利:皮肤免费送 全球头条
- 《王国之泪》开发之初没有剧情:优先考虑游戏体验-环球热消息
- 全国首个DNA存储领域预训练大模型 ChatDNA发布 今日快看
- 焦点速讯:我们看腻了的电视剧 却在东南亚成了顶流
- 清华女生获选美冠军 回应质疑:打破对理工科女生的偏见 全球热文
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
c语言程序设计知识点总结03-精彩看点
(资料图)
c语言程序设计知识点总结03
地址(Address):
计算机的内存由若干个字节内存单元构成,每个字节内存单元都有一个唯一的地址用于区分和存取单元中的数据。 形式上,地址是一个无符号整数,从0开始,依次递增,在表达和交流时,通常把地址写成十六进制数。
指针(Pointer):
一个变量,它存有另外一个变量的地址。
指针相关的两个基本运算符:
1. &:取变量的地址。 2. * :取指针所指的变量的内容。
指针的定义及初始化:
语法格式: 所指变量类型 * 指针名; 例:(1) int x, *p = &x; /* 定义了一个指向整型变量x的指针p*/ (2) int x,*p; p = &x; /* 同上 */指针相关的表达式: 假设有:int x, *p = &x; 则: p = &x *p = x *&x = *p = x &*p = &x = p *p++ = *(p++) :取p所指的变量,然后p指向下一个单元。 (*p)++ :将p所指的变量加1。
两种特殊的指针:
1. void *:指向空类型的指针 指向void类型的指针可以容纳任何其它类型的指针,但容纳前必须强制转换为指向void类型的指针。 例如假设有:int x,*p;void *p2;则: p2 = (void *)p;正确 而p2 = p; 错误。2. NULL:空指针或零指针 由系统定义:#define NULL 0 int *p = NULL; /* 表示现在指针p什么也不指向 */
指针的运算:
1. 赋值运算:指向同类型变量的指针可以相互赋值。 2. 加减小整数:向后或向前移动整数对应的元素个数。 3. 指针相减:结果为两个指针间元素的个数。 4. 指针比较:谁在前谁在后(所指的变量的地址)。
二级指针:
指针所指的变量又是一个指针变量。如: int x, *p1, **p2; p1 = &x; /* p1指向x */ p2 = &p1; /* p2指向p1 */
指针与一维数组:
int a[5] = {1, 2, 3, 4, 5}; int *p = a; /* 等价于 int *p = &a[0]; */ 则有数组元素a[i]的三种引用形式: a[i] = *(a + i) = *(p + i) /* 即a+i和p+i都等于&a[i] */注意: 1. 指针+1的含义是指针指向下一个数组元素。 2. 指针-1的含义是指针指向前一个数组元素。 3. 指针可以加减,但数组名是常量地址,不能加减。 即:p++,p-- 合法,但a++,a-- 不合法。
指针与二维数组:
int a[2][3] = {{1, 2, 3}, {4, 5, 6}}; 则有数组元素a[i][j]的三种引用形式: a[i][j] = *(a[i] + j) = *(*(a+i) + j) /* a + i 指向第 i 行,a[i] 指向第 i 行的第一个元素a[i][0] */注意: 1. a[0], a[1]各是一个一维数组,a[0] = {1, 2, 3}而a[1] = {4, 5, 6}。 2. 由于数组名是指针,所以a[0], a[1]分别指向二维数组的第一行 和第二行的首元素,即a[0] = &a[0][0],a[1] = &a[1][0]。 3. 数组a是由两个一级指针构成的数组,其元素分别为a[0]和a[1]。
指针数组:
数组元素是指针的数组。如: char *str[3] = {“a1”, “a2”, “a3”};注意: 1. str为有3个元素的一维数组。 2. 每个元素都为一个指针,即数组元素 str[0], str[1], str[3]均为 char *类型的指针。
指向数组的指针:
int a[2][3] = {1, 2, 3, 4, 5, 6}; int (*p)[3]; /* p指向一个数组,该数组有三个整型元素 */ p = a; /* 则(*p)[0] = a[0][0], (*p)[1] = a[0][1] */ p = a + 1; /* 则(*p)[0] = a[1][0], (*p)[1] = a[1][1] */注意: 1. 二维数组名本质是一个指向数组的指针。 2. a + i 指向二维数组的第 i 行,称为行指针。
内存分配:
1. 程序执行时必须加载到内存。无论是代码还是数据都必须在内存中获得存储单元。 2. 代码加载到称为代码段的内存区域。 3. 全局变量、静态变量和字符串常量加载到称为数据段的内存区域。 4. 局部变量在执行到相应的函数代码块时才在栈上分配内存,函数退出时则释放该内存。 5. 程序在运行时还可以向操作系统动态申请获得内存,操作系统负责从它管理的堆内存中分配一内存块,并返回内存块的首地址。当程序用完该动态申请的内存块后,可以向操作系统申请,由操作系统负责释放并回收该内存块。 注意: 1,2,3,4由编译程序和装入程序负责分配内存,而5由程序向操作系统负责申请和释放内存。
动态内存分配涉及到的库函数:
void *malloc(unsigned int size);成功:返回所开辟空间首地址失败:返回空指针功能:向系统申请size字节的堆存储空间void *calloc(unsigned int num, unsigned int size);成功:返回所开辟空间首地址失败:返回空指针功能:按类型申请num个size大小的堆空间void free(void *p);无返回值 功能:释放p指向的堆空间void *realloc(void *p,unsigned int size);成功:返回新开辟空间首地址失败:返回空指针功能:将p指向堆空间变为size大小
动态内存分配涉及到的库函数使用说明:
1.由内存分配函数返回的是void *类型的指针,使用时必须先转换为 自己需要的类型。如: double *pd = NULL; pd = (double *) calloc(10, sizeof(double));2. 申请的内存块大小一般由sizeof运算符自动计算,以适应不同的编译器,从而增加程序的可移植性。3. 由于内存分配不一定成功(如内存耗尽 ),所以程序中一定要判断是否申请成功,成功后才能使用该指针。 if(p == NULL) {/* 或者 if ( !p ) */ printf(“内存耗尽!”); exit(1); }4. 程序使用完动态申请的内存块后一定要释放,否则会造成内存泄露,即程序运行一次,内存就丢掉一块(没有回收再利用)。
函数调用过程:
函数调用时,在执行流程转至被调函数的代码执行之前,必须先完成将实在参数传递给形式参数的过程。这个过程完成后,再顺序执行被调函数的代码,直到遇到return语句返回或者代码执行完毕返回到被调用处继续执行(除非程序异常退出)。函数参数传递的两种方式:
1. 传值:将实参的值传给形式参数,此后形参实参两者各不相干,对形参的任何改变不影响实参。2. 传地址:将实参的地址传给形式参数,此后形参实参两者合二为一,对形参的任何改变其实就是改变实参。
指针作为函数参数:实质是传地址。
数组作为函数参数:传数组的首地址,而不是把每个数组元素传过去。
命令行参数的概念:
程序在执行时,由命令行传递给程序的参数。实质是操作系统将命令行参数组织成一个字符串数组,然后将它传递给main函数。程序中可对该字符串数组进行处理。命令行参数就是main函数的参数。
main(int argc, char *argv[ ])程序执行:程序名 字符串1 字符串2 ... 字符串n ↑ ↑ ↑ ↑ argv[0] argv[1] argv[2] … argv[n+1] argc = n + 1,此处共有n + 1个命令行参数。/** 第一个参数int argc:指明命令行参数的个数。* 第二个参数char *argv[ ]:一个数组,每个数组元素为传过来的一个命令行参数(字符串)。也可写为:char **argv 。*/
返回指针的函数:
该函数的返回类型是指针类型,即函数返回一个指针。 例: int *pi = NULL; pi = (int *) malloc(sizeof(int));
指向函数的指针:
语法格式: 函数返回类型 (*函数指针名)(函数参数)例:定义时: int sum(int i, int j) { … } int (*p)(int a, int b); p = sum; 调用时: (*p)(3, 5) 就等价于sum(3, 5)。
关键词:
c语言程序设计知识点总结03-精彩看点
没有5G卖4G的华为手机比苹果还牛:消息称逆势上调全年出货量目标 全行业第一家|天天精选
1499元!小度青禾学习手机开启预售:一机顶6台 立省1万元
热门看点:400年前的画里有男孩穿耐克鞋 网友称穿越:还有百年前画作出现iPhone
全红婵的水花让物理学不存在了 网友点赞:物理学对她不适用|全球观热点
一个月没找到 美国30吨爆炸性化学品铁路运输时丢失:科普硝酸铵理化性质-世界热点
快报:中国抗体-B(03681.HK):SM17新药研究申请获国家药监局药品审评中心受理
天天精选!交易商协会发布4月债务融资工具业务量统计和主承分类统计
印为何收回2000卢比纸币?专家:缓解银行流动性危机和加息压力
BLG夺《英雄联盟》MSI亚军 B站:BLG粉丝赠送一年大会员 全球微动态
比亚迪汉DM-i冠军版/DM-p战神版爆火!3天订单破1.3万辆:女车主高达37.2%
盖茨再爆与20多岁俄女子发生婚外情 遭美国淫魔富豪威胁 全球速看料
学系统集成项目管理工程师(中项)系列24a_信息系统集成专业技术知识(上)-当前播报
世界快播:雅顿橘灿精华使用方法 雅顿橘灿精华用在哪个步骤
JDG战胜BLG夺《英雄联盟》MSI冠军!官方发福利:皮肤免费送 全球头条
《王国之泪》开发之初没有剧情:优先考虑游戏体验-环球热消息
全国首个DNA存储领域预训练大模型 ChatDNA发布 今日快看
最新消息:[工具/资源] Web应用开发的基础工具与资源
全球观察:Pytest - pytest 命令(2) - 命令参数及含义
计算机组成原理:控制器实验|全球今亮点
焦点播报:记录一次系统恢复的经历
linux 性能自我学习 ———— 理解平均负载 [一] 环球看热讯
焦点速讯:我们看腻了的电视剧 却在东南亚成了顶流
清华女生获选美冠军 回应质疑:打破对理工科女生的偏见 全球热文
音量调节器怎么在桌面显示_音量调节器不见
情定三生40集大结局_你都学会了吗_全球讯息
Netflix 网站架构学习
wps邮件合并功能无法打开数据源_wps邮件合并
三大运营商最新财报出炉:一天净赚4.2亿|每日消息
国内AI大模型 VS chatgpt (20)-- H265/H264有何不同,h265有什么优势?
Revit二次开发实战04(元素搜集过滤器FilteredElementCollector)
雅顿和珂润哪个好 珂润和雅漾哪个好
世界时讯:官方:美光在华销售产品 未通过网络安全审查!关键领域停止采购
DDR5内存之疯狂:频率突破11.2GHz!延迟惨不忍睹-全球观点
每日快看:完全自主知识产权 国产全新3D dToF芯片发布
伊拉克“抱脸虫”追着美国大兵跑!比你想象的还可怕|每日视讯
《GTA6》男主现身:和游戏画面一模一样|速读
期权即将到期 黄金重回区间还是下破?_环球快播报
世界报道:C++ Primer 5th 阅读笔记:字符串,vector 和数组
焦点热文:杂项·入门
AMD RX 7600公版卡曝光:双风扇也迷你可爱!国内会卖吗?|今日热讯
全国第一次!两条高铁的两座特大桥同时转体|焦点关注
大众CC开着开着天窗没了 车主:吓得腿发抖-世界聚焦
万科150亿元定增申请获深交所受理 当前快讯
独特多媒体旋钮设计瞩目:Keychron即将推出Q3 Pro SE机械键盘 观天下
环球时讯:锐龙7 7800X3D开盖“果奔”:60秒后 惨烈一幕出现
妇女能顶半边天下一句_我歌月徘徊下一句 全球信息
即时看!首批名额仅600名:魅族17系列迎来Flyme10内测招募
你的走路姿势 可能一直都错了!难看还伤腿
观速讯丨珍惜白菜价的电视吧 液晶电视面板价格继续大涨
武汉市三角路中学(关于武汉市三角路中学介绍)_世界今热点
499元新机竟敢对标苹果 看完真的有点香!
每日动态!凸六式扫把火了 商家剪坏扫把低价引流 男子将计就计下单
SpringBoot利用自定义注解实现多数据源
2尺2是多少毫米(2尺2多少厘米简介介绍)_今日热议
杭州现鸭屎香冰淇淋:味道揭秘!原来鸭屎香是一种乌龙茶
头条焦点:英国CMA或让步!微软收购动视暴雪新变动
天天关注:《英雄联盟》2023 MSI决赛JDG对战BLG!首发名单出炉:萍乡第一中单之争
青沼英二坦言自己老了:《王国之泪》将我逼到极限
银川市为500名女童免费接种HPV疫苗
IMU 积分进行航迹推算 天天快报
Win7经典“顽疾”:微软确认Win11硬盘可能被错误识别|全球今热点
“挖呀挖”黄老师开始转型:参与文旅宣传!曾否认辞职带货
焦点热文:小李子新片《花月杀手》M站91分 多家媒体给出满分
格致男排,夺冠! 每日速递
CesiumJS 源码杂谈 - 时间与时钟系统_前沿热点
《利益区间》冲击金棕榈大奖
4999元起!小牛MQiL电动两轮车开售:顶配能骑170km_世界动态
对话盛希泰:“专精特新”企业给二三四线城市带来发展机会_世界视点
快报:河南局地大暴雨!女子家中厨房窗户被暴风雨整个吹掉:庆幸无人受伤
每日关注!李想:汽车行业规模要求太苛刻 更容易出问题的不是成本而是销量
04-多路选择器
快报:我国南海发现两处古代沉船
我国深海考古重大进展!首次发现大型古代沉船:水下第一视角太壮观 环球热文
因为AI 让80%的职业原画师下岗
帮助Linux管理员简化任务并实现自动化的七大工具
自己办理深圳创业补贴难吗?创业开饭店有补贴吗深圳
爱驰汽车被曝经营困难:开通员工自费交社保通道 焦点热讯
中国取代日本成全球第一大汽车出口国 俄罗斯为最大买家|天天热门
React闭包陷阱
每日观点:当日快讯:沙特外交大臣表示阿拉伯国家将继续在俄乌冲突中维持中立
全球快报:【财经分析】全球贸易增长正在恢复 应继续加强多边贸易合作
环球短讯!近视可用 特步0~700度专业大框泳镜狂促:12元包邮
店员称衣服掉地上摔个洞需赔款:最终结果让网友不淡定 速看
如何保存新鲜活虾 活虾怎么保存? 全球即时看
全球微动态丨体验阿斯顿·马丁DBX707 看看超跑品牌是怎么做SUV的
比亚迪首家全品牌体验中心开业:几万块到一百万的车全都有 当前简讯
第一批升级iOS 16.5正式版的用户被坑了!_要闻速递
学系统集成项目管理工程师(中项)系列23b_信息系统集成及服务管理(下)
【爬虫数据集】滇西小哥YouTube频道TOP10热门视频的热评数据,共2W条!_世界速看料
又有基金公司宣布:APP停止运营!_环球快看
清华大学女生获选美冠军 网友:全方位优秀
年轻人第一辆后驱SUV 长安深蓝S3预售:16.99万起-热议
全球信息:雨前高山春鲜 谢裕大珍珠绿茶60克到手29元
万达集团紧急声明!
03-点亮LED灯
热搜第一!BLG晋级 LPL提前锁定MSI三连冠 每日信息
全面了解华为全屋智能4.0:体验质变 最新快讯
母亲5点帮女儿排队领证结果走错地方:白排了一个小时队
当前快看:河海大学与华中师范大学签署战略合作协议