嵌入式学习第九天——二维字符型数组、初学函数

在昨天做二维数组练习时,发现类似s[n][n]这类长度为变量的数组不能直接用初始化器{ }去全部初始化为0,所以了解到了 bzero这个函数

void bzero(void *s,size_t n)

功能:将s开始的n个字节清除成0

参数:s表示一块内存空间的首地址

           n表示要清0的字节数

二维字符型数组

char s[3][4]

作用:批量处理字符串

初始化形式:

char s[3][10] = {"hello","world"};

赋值
gets(s[0])       // s[0]就是第0行,这个一维数组的数组名

昨天学习了字符串函数,在二维数组中字符串函数也可以是用,使用是应将s[0]s[1]s[2]等分别看成一个字符串形式的一维字符型数组

就拿用字符串进行排序来练习之前所学

#include<stdio.h>
#include<string.h>

int main()
{
	char s[5][10],temp[10];
	int i,j;

	for(i = 0;i < 5;i++)
	{
		gets(s[i]);
	}

	for(i = 1;i < 5;i++)
	{
		for(j = 0;j < 5 - i;j++)
		{
			if(strcmp(s[j],s[j+1])>0)
			{
				strcpy(temp,s[j]);
				strcpy(s[j],s[j+1]);
				strcpy(s[j+1],temp);
			}
		}
	}

	for(i = 0;i < 5;i++)
	{
		printf("%s\n",s[i]);
	}


	return 0;
}

 在字符串的使用过程中temp不在是之前的int类型而是一个一维数组,大小的比较、赋值都从< > =,变成了strcmp、strcpy

函数(function)

函数的思想:从上到下,逐步求解的过程

函数定义——把功能实现出来

类型标识符 函数名(形式参数)

{

        函数体代码

}

(1)类型标识符:数据类型——表示函数要带出的结果的类型

注意:a.数组类型不能做函数返回结果的类型        b.如果函数不需要带出什么结果,一般设计为void,一般也不写return        c.如果返回结果的类型与类型说明符不一致,以类型说明符为准,最终结果的类型都会转为类型说明符表示的类型        d.类型说明符如果不写,默认是int型

(2)函数名:标识符,命名规则符合标识符命名规则

(3)形式参数:表示该函数需要用到的数据——表明将来使用时,需要用到的实际参数该怎么写

注意:a.形参变量,必须明确指定类型,不能写成int a,b        b.实参好形参对应关系:类型匹配,个数相同,顺序一一对应        c.函数传参——传递的是实际参数符值(值传递)        d.如果不需要接收实际参数,形参一般设计为void表示空类型

(4)函数体代码:实现函数具体的功能的代码

函数定义的位置

1.main函数之前        2.main函数之后:需要在使用(函数调用)前,作函数声明 
  函数头+分号 就是函数声明   

eg:实现两个数求和

1.先确定函数名

2.考虑函数需要用到哪些数据——形参

形参的写法:数据类型 形参变量名1,数据类型 形参变量名2 ...

3.处理数据

4.考虑要不要带出结果——返回值

用 return 语句;return(表达式)——表示从函数中返回,意味着函数执行结束

#include<stdio.h>

int add(int num1,int num2)
{
	int sum;

	sum = num1 + num2;

	return sum;
}

函数调用

语法:
   函数名(实际参数)

   1.函数语句
   2.函数表达式
   3.函数参数 

int main()
{
	int a,b;
	int sum;
	scanf("%d %d",&a,&b);

	sum=add(a,b);

	printf("%d",sum);

	return 0;
}



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值