c语言之数组

  1.c语言不允许对数组进行动态定义。int a[k];这样是错的,但是可以用#define 进行宏定义 #define 4 k

  2. 可以给一部分元素进行赋值,例如,int a[10] = {0,1,2,3};这样是表示给前四个元素赋值,后面的数值自动给0;

 3.int a[3][4];是三行四列;

 4. 二维数组也可以只对部分元素赋值。int a[3][4] = {{1},{1,2},{1,9}};;这样等价于inta[3][4] = {{1,0,0,0},{1,2,0,0},{1,9,0,0}};表示行数的3 是可以省略不写的;

 5.当数组作为参数传递给函数时 ,方法一:将数组名和数组大小一起传递,例如char a1[num],a2[num]; memcpy(a1,a2,num);//memcpy是调用函数

                                                       方法二:因为字符串遇到\0结束,例如:void memcpy(char *str[])

                                                                                                                       {

                                                                                                                            xxx;

                                                                                                                           while(str[i] != NULL)

                                                                                                                           puts(str[i]);

                                                                                                                                                             }

6.对字符数组初始化 char str[10] = {'a','d');

                    输出 puts(str);或for(i = 0;i < length;i++) printf("%c",str[i]);

    对字符串初始化char str = "china";或char str = {"china"};

                   输出printf(:%s",str);或puts(str);或for(i = 0;i < length;i++) printf("%c",str[i]);

  %s是输出整个字符,注意是字符数组不是数字数组,输出项是字符数组名,而不是数组元素名;

 7 .puts(a)输出字符数组到终端,可以输出转义字符;char str[] = {"china\nbeijing"};puts(str);  这样输出是china

                                                                                                                                                                     beijing

8.gets(字符数组);相当于scanf;

9.strcat ,连接两个字符数组,结果放在第一个数组;

   strcpy复制,字符数组间不能直接用赋值语句。不能直接将一个字符数组给另一个字符数组;但可以将一个字符付给一个字符数组 str[0] = 'c';

 strcmp 比较。如果字符1>字符2,返回一个正数;

  strlen 测试一个字符的长度,不包括\0. char str[10];printf("%d",strlen(str));

  strchr 函数返回指向第一次使用指定字符的指针,如果没有找到这个指定字符,则返回NULL;意思是这个指定字符前是NULL这个字符串结束后也是NULL

10. 局部变量只能付一次值,下一次调用该函数可以使用上一次调用的结果。

11. 输入输出一维数组时for(i = 0;i < 7;I++)  scanf("%D",&a[i]); scanf 遇到tab 空格,回车都算一个(循环)结束;



 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值