C语言基础知识(37)

数组

一维数组的定义:类型说明符 数组名【常量表达式】;先定义后引用;一维数组初始化时可以只对一部分元素初始化,在对全部数组元素初始化的时候可以部规定长度;但是若被定义的数组长度与提供的初始值不一样时,则数组长度不能省略。

二维数组的定义:类型说明符 数组名【常量表达式】【常量表达式】C语言中存放二维数组是先存放第一行的元素,紧接着是第二行,其实也是以一维的方式存放。如果初始化时能指定所有元素的初始值,第一维大小可以省略,但是第二维不能省略。

字符数组:定义和初始化跟数组差不多,只是需要加单引号。字符和字符串结束标志,C语言规定,以'\0’代表。

C语言中的内存泄漏是什么

内存泄漏是一个常见且危险的问题。 这是一种资源泄漏。 在 C 语言中,当使用内存管理功能分配一块内存而忘记释放它时,就会发生内存泄漏。

示例:

intmain(){char* pBuffer =malloc(sizeof(char)*20);/* Do some work */return0;/*Not freeing the allocated memory*/}C

注意:一旦分配了内存,分配的内存在空闲之前不会分配给另一个程序或进程。

do-while循环

C语言中的do-while循环,一般形式如下:

do-while循环语句的语义是:

它先执行循环中的执行代码块,然后再判断while中表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。

注意:mtianyan: 使用do-while结构语句时,while括号后必须有分号。

字符串处理函数

1、puts()将一个字符串输出到终端

2、gets()从终端输入一个字符串到字符数组,并且得到一个函数值。

3、strcat()链接两个字符数组中的字符串。

4、strcpy()字符串复制函数。

5、strcmp()比较字符串作用。

6、strlen()测试字符串长度的函数不包括“\0”

7、strlwr()将字符串中的大写字母转换为小写字母。

8、strupr()将字符串中的小写字母转换为大写字母。

malloc 和 calloc 有什么区别

malloc 和 calloc 是内存管理函数。 它们用于动态分配内存。 基本上,calloc 和 malloc 之间没有实际区别,只是 calloc 分配的内存用 0 初始化。

在 C 语言中,calloc 函数将所有分配的空间位初始化为零,但 malloc 不初始化分配的内存。 这两个函数的参数数量也有所不同, malloc 接受一个参数,而 calloc 接受两个。

for循环

c语言中for循环一般形式:

它的执行过程如下:

执行表达式1,对循环变量做初始化;

判断表达式2,若其值为真(非0),则执行for循环体中执行代码块,然后向下执行;若其值为假(0),则结束循环;

执行表达式3,(i++)等对于循环变量进行操作的语句;

执行for循环中执行代码块后执行第二步;第一步初始化只会执行一次。

循环结束,程序继续向下执行。

注意:for循环中的两个分号一定要写

在for循环中:

表达式1是一个或多个赋值语句,它用来控制变量的初始值;

表达式2是一个关系表达式,它决定什么时候退出循环;

表达式3是循环变量的步进值,定义控制循环变量每循环一次后按什么方式变化。

这三部分之间用分号 ; 分开。

使用for语句应该注意:

for循环中的“表达式1、2、3”均可不写为空,但两个分号(;;)不能缺省。

省略“表达式1(循环变量赋初值)”,表示不对循环变量赋初始值。

省略“表达式2(循环条件)”,不做其它处理,循环一直执行(死循环)。

省略“表达式3(循环变量增减量)”,不做其他处理,循环一直执行(死循环)。

表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。

表达式1和表达式3可以是一个简单表达式也可以是多个表达式以逗号分割。

表达式2一般是关系表达式或逻辑表达式,但也可是数值表达式或字符表达式,只要其值非零,就执行循环体。

各表达式中的变量一定要在for循环之前定义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoyi9812

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值