1119数组 二维数组 字符串处理函数 值传递和变量存储类型知识点

break跳出当前这一层的循环

continue跳出当前循环步

 

switch()

{

case xxx : do ; break ;

default : xxxxx ;break;

}

 

if ....else 判断问题、匹配问题、{}、比目运算符

 

死循环 while(1)

  for( ; ; )

跳出死循环: if....break

 

int a[10];

地址:&a[10]=a  a的值就是地址

 

数组中定义所常见的错误:

float a[0];   //数组大小为0没有意义

int b(2)(3);  //不能使用

int k; a[k];  //不能使用变量说明数组的大小

 

数组元素的赋值: int a[10]={0,1,2,3,4};

若为int a[10]; 则里面的数不为0,是一些垃圾数

 

二维数组: [][]

char [2][4]  8个字节

int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

int a[3][4]={{1},{5},{9}};

 

二维数组的赋值:如果对全部元素都进行赋值,则定义数组的第一维长度可以不指定,但第二维的长度不能省去:int a[][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

 

C语言中没有string的数据类型

 

如果数组长度大于字符串实际长度,也只输出到遇’\0’结束

如果一个字符数组中包含一个以上的’\0’,则遇到第一个’\0’的输出就结束,数组中未被赋值的元素值自动置’\0’

 

%s格式输出字符串时:printf函数中写的是字符数组名字(地址)而不是数组元素名(值)

 : &a[0]=a

字符串处理函数:

puts(字符数组):用puts函数输出的字符串中可以包含转义字符

puts() ()内:字符串/地址  

strcpy: strcpy(数组名,数组名/字符串);(第二个数组名:可以通过地址赋值)

strncpy(str1,str2,n) :将str2的前n个字符复制到str1中去

strcmp:字符比较

strlen:测试字符串长度的函数

函数的值为字符串的实际长度,不包括’\0’

 

strlwr:将字符串中大写字母换成小写字母

strupr:将字符串中小写字母换成大写字母

以上两种,传进去的参数为字符串,也就是地址,均不能传数组元素名,只能传数组名

 

形式参数:定义函数时函数名后面括号中的变量名

实际参数:调用函数时函数名后面括号的表达式

 

值传递:

函数调用时,为形参分配单元,并将实参的值复制到形参中,调用结束后,形参单元被释放,实参单元仍然保留并维持原值

特点:形参与实参占用不同的内存单元

:单向传递:只能从实参到形参

 

地址传递:函数调用时,将数据的存储地址作为参数传递给形参

形参与实参占用的存储单元

双向传递

实参和形参必须是地址常量或变量

 

*:后面放的是地址

*x:这是一个值  *x=*x+2  改变的是地址上的值

 

变量的存储类型

 

局部变量

外部变量

存储类别

auto

register

局部static

外部static

extern

存储方式

动态

静态

存储区

动态区

寄存器

静态存储区

生存期

函数调用开始至结束

程序整个运行期间

作用域

定义变量的函数或复合语句内

本文件

其他文件

赋初值

每次函数调用时

编译时赋初值,只赋一次

未赋初值

不确定

自动赋初值0或空字符

 

几个关键字,后续在进行补充

const

static

volutile

extern

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值