c语言中的数组和字符串
2014-01-26 23:14
627 查看
c语言中的数组和面向对象语言中的数组一样,为了存储多个同类型的值,定义数组的时候,系统将按照数组的类型和个数分配一段连续的存储空间来存储数组元素。数组名代表着数组的地址也就是第一个元素的地址,所以数组名是一个常量如果把数组作为函数实参,传递的是整个数组,形参数组和实参数组完全等同,因为传递的数组地址,形参修改,实参也会修改,因为C中字符串和数组有着特殊的关系所以就把数组和字符串放在一篇博客了。
二维数组初始化的时候可以省略行数二维数组按行存储,必须知道一行有多少列,不可省略列数,因为列数省略会产生多种情况
字符串数组
字符串:C语言是用字符数组存储字符串,在字符串尾部会添加一个’\0’代表结束标记,如果尾部没用’\0’,那么这个数组就是一个普通的字符数组;
字符串与函数,c语言也像Java一样为字符串提供了一些简单的函数,只是没有Java的丰富而已,字符串函数在头文件(#include <string.h>)中
字符串输入
接收用户从键盘输入的字符
添加字符
字符长度
strcpy
//从第一个字符开始比较ascll码直到不相等或者遇到\0,如果相等返回0,如果不等,负数右边大,正数左边大(左边-右边)
大小写转换
二维数组初始化的时候可以省略行数二维数组按行存储,必须知道一行有多少列,不可省略列数,因为列数省略会产生多种情况
int a[][3]={1,2,3,4,5}; //每行三列 //a[0][0] a[0][1] a[0][2] //a[1][0] a[1][1] |
char stus[2][5]={"jack","tom"}; char stus[2][5]={{'j','a','c','k','\0'},{'t','o','m','\0'}}; |
字符串:C语言是用字符数组存储字符串,在字符串尾部会添加一个’\0’代表结束标记,如果尾部没用’\0’,那么这个数组就是一个普通的字符数组;
char str[]={'i','o','s','\0'};//是字符串,如果忘记'\0',很容易造成内存溢出 char str2[]={'c','t','o'}; //不是字符串是字符数组 char str3="cto";//自动再数组尾部后面加'\0',数组元素应该有4个 printf("%s字符串%s");//可以输出多个字符串,比较灵活 |
字符串输入
gets(s); //可以读取空格和tab而scanf函数不可以 //scanf("%s",s); 输入完毕后会在数组s后面加一个结束符'\0' |
char ss; ss=getchar(); |
char ss=putchar('5'); |
int s=strlen("ss"); //不包括’\0’的长度 |
char s1[10]; strcpy(s1, "ios"); //从ios开始拷贝直到遇到\0 |
strcmp("abc", "ABC"); |
srwr(“ABC”);//转换成小写 struper(“转换成大写”); |
相关文章推荐
- C语言系列之C语言如何返回字符串数组
- C语言中的数组和指针以及字符串
- 关于C语言字符串数组
- C语言中的字符数组与字符串
- c语言==字符数组与字符串,char的取值范围(1)
- 《C语言及程序设计》程序阅读——字符数组与字符串处理
- 【C语言】【笔试题】使用回调函数编写冒泡排序,可以排序整形数组,也可以排序字符串
- c语言字符数组与字符串的使用详解
- C语言中指针, 数组和字符串(Pointer, Array and String in C Programming Language)
- C语言 之 字符串(数组)
- C语言学习入门 (四) 字符串、字符串数组、字符和字符串相关函数
- C语言中数组转化为字符串的方法
- 黑马程序员——C语言之字符串指针与二维字符串数组
- ios开发-c语言之指针和数组以及指针和字符串的学习
- C语言中字符串和字符数组的区别
- C语言中字符串和字符数组
- C语言中strlen求字符串长度,求字符数组长度(空字符,数字0,字符0,数组部分初始化)
- C语言中strlen求字符串长度,求字符数组长度(空字符,数字0,字符0,数组部分初始化)
- 嵌入式linux之高级c语言专题—数组&字符串&结构体&共用体&枚举
- C语言中字符数组和字符串指针分析