当前位置: 首页 > news >正文

09-C语言-二维字符串-函数

二维字符串数据
初始化
char 变量名[行][列] = {"字符串1", "字符串2"...};
char date[12][32] = {0};
行就是字符串的数量,列为每个字符串的元素数量
打印
只使用一个for遍历行,也就是每个字符串即可
赋值
字符串不能对整体进行赋值或操作,但可以使用复制函数,来进行赋值
strcpy(date[0], "january");
strcpy(date[1], "february");
strcpy(date[2], "march");
strcpy(date[3], "april");
strcpy(date[4], "may");
strcpy(date[5], "june");
strcpy(date[6], "july");
strcpy(date[7], "august");
strcpy(date[8], "september");
strcpy(date[9], "october");
strcpy(date[10], "november");
strcpy(date[11], "december");

函数
功能:能够避免重复性的代码
可以让程序更加模块化

位置:在int main(void)的上面


函数的三种形式:
函数的定义:
函数类型 函数名(数据类型1 形参1, 数据类型2 形参2, ...)
{
函数体;

返回值;

}
函数名要求与变量名保持一致
形参,形式参数,用来展示函数对数据的处理方式,前面必须要有数据类型。

函数类型,表示函数结果的类型,默认返回0为int,如果不需要返回值的话
返回值类型由函数类型决定,如果返回值与函数类型不一致时。
函数类型不写默认为int类型
void 缺省类型,没有返回值


函数的调用
函数名(实参1, 实参2);调用的时候就不需要加参数的数据类型了
如果实参类型与形参类型不一致,以形参参数为主
主调函数:主动调用函数的函数
被调函数:被别人调用的函数
传参:主调函数调用被调函数会把实参的值传递给形参
实参个数必须与形参一一对应
如果实参与形参类型不匹配,则将实参数类型强制转化为形参类型再传参

函数的声明
函数类型 函数名(数据类型1 形参1, 数据类型2 形参2, ...);
注意!!!:函数声明小括号后必须有分号,函数定义小括号后不加分号!!!
如果被调函数在main函数下方定义,需要对函数进行声明,将带函数类型的第一行放在main函数前
如果被调函数在主调函数上方声明,就不用声明了

变量的作用区域以及生存周期
变量的作用区域
局部变量:变量在{}中定义所以作用区域在{}中,不能跳到其他同级{}或上级{}
全局变量:定义在头文件后,在所有的{}之外,全部可以使用
变量的生命周期:
变量从开辟空间到回收空间

数据的存储类型
存储类型 数据类型 变量名

auto 程序自动存储-内存的栈区
register 寄存器类型-CPU中,快,寄存器满了等价与auto类型
extern 外部声明 声明不具备创建空间功能,只能有一个main函数
声明变量或函数是外部存储的
extern int a;
extern int b;
extern int jia(int a, int b);

static 静态存储-外存-a.out中
限定变量或函数的作用域只能在本文件中使用,使用extern也调用不了静态存储
防止多文件编程时,变量或函数名冲突
1.未经初始化时值为0值
2.编译时为变量分配存储空间,运行时将空间加载内存数据区中
3.程序结束回收空间



(以下为内存空间) 变量的定义以及初始化只会在 编译时执行一次 用于开辟空间,后续不再重复执行
内核

栈区-auto-自动型存储-局部变量
操作系统管理区域,局部变量未经初始化变量区域,随机值
1.未经初始化为随机值
2.程序执行到变量定义时为变量开辟空间
3.程序执行超过变量的作用区域回收空间
堆区
程序员手动管理区域
数据区 (对为初始化的变量清0然后接收a.out的数据)
特点:
1.未经初始化时值为0值
2.编译时为变量分配存储空间,运行时将空间加载内存数据区中
3.程序结束回收空间
类型:
1.字符串常量区,双引号括起来的
2.未初始化全局变量/静态变量
3.已初始化全局变量/静态变量
文本区:存放代码,指令,函数


函数传参:
1.值传递:
实参将值传递给形参

http://www.jsqmd.com/news/1291700/

相关文章:

  • 加速度传感器选型、校准与滤波实战:从MPU6050到工业振动监测
  • 英雄联盟Akari助手:5分钟学会的智能游戏效率工具
  • C++反射机制实现:从原理到工程实践
  • USB协议核心框架与设备枚举实战指南
  • ITE联阳IT68353芯片方案:DP+HDMI+Type-C转HDMI2.0
  • C++质因子分解:从算法原理到工程优化与面试应用
  • 磁吸充电宝测评推荐:我实测记录
  • 终极Chrome书签管理指南:告别混乱,拥抱高效
  • C语言基础:一维整形数组
  • 2026年7月山西厂房质量检测鉴定/装修工程检测鉴定公司选哪家_山西建科元丰工程检测有限公司 - 行业平台推荐
  • 三菱FX5U PLC控制4轴伺服系统的组装线应用
  • firewall用户认证综合实验
  • 终极解决方案:用SetDPI彻底告别Windows多显示器DPI缩放混乱
  • png转bmp:政务上传报错时,手机与电脑怎么对照处理 - 办公小帮手
  • 3个秘诀让您的Windows右键菜单效率翻倍
  • 在Windows上解锁Mesa3D的图形潜能:开源驱动完全指南
  • Node.js 全栈独立产品 2026 下半年技术路线规划
  • 基于OpenSSL在Linux搭建私有CA:从原理到生产实践
  • 基于整合效率η与分形稳健性ψ的对话认知生长质量深度评估研究报告
  • 多智能体系统实战:从AutoGen到ChatDev的架构解析
  • 智能车竞赛全栈技术解析:从PID控制到系统设计避坑指南
  • 高碑店市防水补漏_2026河北京南卫星城漏水维修避坑指南与五大正规团队推荐 - 雨婺虹房屋维修
  • Jenkins与Gitee Webhook配置实战:实现代码推送自动部署
  • 5个核心优势:Syncthing Android构建私有云同步网络的终极指南
  • EMC设计中静电电容选型与计算:从原理到实战的精准防护
  • Selenium模拟登录全攻略:从环境搭建到实战优化
  • 深入解析HashMap与Map:从接口设计到底层实现与性能优化
  • 01_GEO是什么_AI搜索时代的品牌新入口
  • 跨境电商工具怎么选?从选品、图片翻译到上架运营的一套效率工具清单
  • Rider替代VS进行UE4开发:轻量配置与高效C++工作流指南