C语言字符数组与字符串简介

本文深入探讨了C语言中字符数组的定义、使用方法及与字符串的区别,包括如何通过指针进行操作,以及如何正确初始化和使用字符数组与字符串。详细解释了字符数组与字符串的区别,特别是字符数组在输出时的特殊行为,以及如何避免输出乱码。同时,文章还介绍了如何将字符数组转换为字符串并执行系统命令,以及如何正确地初始化和使用二维字符数组。
#include<stdio.h>
#include<stdlib.h>


void main()
{
	//数组的定义
	char str[5] = { 'a', 'b', 'c', 'd', 'e' };
	for (int i = 0; i < 5; i++)
	{
		//数组名可以当成指针,但是数组名是常量
		printf("%c,%c\n", str[i],*(str+i));
	}
	//对于字符数组可以用数组的方式输出 但要是用字符串的形式就会变得不一样
	//这是因为用字符串输出时直到遇见'\0'时才会停止输出,而对于str,定义数组时是满数组定义的
	//缺少‘\0’,在输出abcde后会出现乱码
	printf("%s\n\n\n", str);    
	system(str);  //不能执行 以字符串的形式运行 但没有'\0',不知道截取多少位 直到遇见'\0'为止
	
	
	//下面两种赋值都会出现错误,会出现错误 这是因为str3是常量  不能对其进行赋值
	//char str3[10];
	//str3 = "ipconfig";       
	//str3 = { 'A' };


	//下面是定义一个5个元素的字符数组,但实际初始化了4个元素,最后一个元素会默认为'0'
	char str1[5] = { 'c', 'a', 'l', 'c' };
	printf("%s", str1);
	system(str1);  //可以直接用数组名运行,但是以字符串的形式  成功打开calc


	//下面是用字符串对字符数组初始化  但不能满数组初始 因为没有'\0'的位置,
	//字符串后面系统会默认跟一个'\0'
	//char *str2[10] = "mapaintaaa";
	char str2[10] =  "mspaint" ;
	printf("\n\n%s\n", str2);
	system(str2);


	//下面是用指针来指向字符串的首地址
	//char *pc = "ipconfig";  这种方式也是可以的
	char *pc;
	pc = "ipconfig";         //这种方式是可以的 但字符数组这样初始不行
	printf("%s\n", pc);
	system(pc);


	//下面是定义二维字符数组
	char twostr[5][11] = { "color 5f",
							"title my",
							"echo style",
							"tasklist",
							"write" };
	for (int i = 0; i < 5; i++){
		printf("\ntwostr[%d]=%s", i, twostr[i]);   //在这里要注意 twostr[i] 是可以打印的
	}
	for (int i = 0; i < 5; i++){
		system(twostr[i]);
	}

	getchar();
}

考虑柔性负荷的综合能源系统低碳经济优化调度【考虑碳交易机制】(Matlab代码实现)内容概要:本文围绕“考虑柔性负荷的综合能源系统低碳经济优化调度”展开,重点研究在碳交易机制下如何实现综合能源系统的低碳化经济性协同优化。通过构建包含风电、光伏、储能、柔性负荷等多种能源形式的系统模型,结合碳交易成本能源调度成本,提出优化调度策略,以降低碳排放并提升系统运行经济性。文中采用Matlab进行仿真代码实现,验证了所提模型在平衡能源供需、平抑可再生能源波动、引导柔性负荷参调度等方面的有效性,为低碳能源系统的设计运行提供了技术支撑。; 适合人群:具备一定电力系统、能源系统背景,熟悉Matlab编程,从事能源优化、低碳调度、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究碳交易机制对综合能源系统调度决策的影响;②实现柔性负荷在削峰填谷、促进可再生能源消纳中的作用;③掌握基于Matlab的能源系统建模优化求解方法;④为实际综合能源项目提供低碳经济调度方案参考。; 阅读建议:建议读者结合Matlab代码深入理解模型构建求解过程,重点关注目标函数设计、约束条件设置及碳交易成本的量化方式,可进一步扩展至多能互补、需求响应等场景进行二次开发仿真验证。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值