码迷,mamicode.com
首页 > 编程语言 > 详细

C-二维数组作为函数参数, 字符数组

时间:2016-04-03 17:19:20      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

 
1. 如果函数的参数是一个一维数组, 那么我们在传递的时候, 可以传递二维数组的某1行——一个一维数组
 
2. 二维数组可以作为函数的参数: 如果函数的参数是一个二维数组, 那么传入的实参也必须是一个相同类型的二维数组
 
3. 同一维数组一样, 当二维数组作为函数的参数的时候, 函数也是声明的一个指针指向传入的二维数组, 并通过指针对传入的二维数组进行操作
 
4. 当二维数组作为函数的参数的时候, 行数可以不写, 但是列数必须要写
 
5. 所以跟一维数组一样, 当二维数组作为函数参数是, 函数的参数还要有数组的行, 列这两个参数, 标准写法:
void test(int rows, int cols, int arr[][cols]){}
 
字符数组:
1. 字符数组的默认值问题: 声明一个字符数组, 不给这个字符数组的元素赋值, 那么这个字符数组的元素是有值的, 内存垃圾值
 
2. 在声明字符数组的同时, 如果初始化了部分元素, 那么其他的字符会被初始化为 ‘\0’
 
3. 字符数组不能存中文;
 
4. 如果制定的字符串数组长度小于等于字符串长度, 会出现存储不下的情况
 
5. 所以, 使用字符数组存储字符串数据的时候, 声明的时候最好不要指定长度
 
6.  scanf(“%s”, array);  //这时候不需要带&,  因为这时候 数组 array的 名字本身就能够代表其首地址
 
7. 用scanf进行字符串的输入的时候, 如果输入的长度大于数组长度, 不安全; 如果输入了空格, 就会认为输入结束
 
8. 不能用sizeof来计算字符串的长度, (有可能实际的字符串只占了数组的一部分), 用strlen();
另一种方法: while循环, 从第一个开始计数, 遇到 \0 结束;
 

C-二维数组作为函数参数, 字符数组

标签:

原文地址:http://www.cnblogs.com/SquirrelStock/p/5350069.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!