C数组和字符串
来源:互联网 发布:mac电脑怎么打顿号 编辑:程序博客网 时间:2024/05/21 11:27
一、数组的概念及定义
1、概念:用来存放一组类型相同的数组
特点:
只能存放一组数据,比如int类型的数组或者float类型的数组
数组里面的数据称为“元素”
2、数组的定义
类型 数组名[元素个数];
int a[10];
初始化与常见错误:
// 正确 int a[3]={3,5,8}; int a[3]={2,9}; int a[]={1,3,5,6,7,8}; int a[5]={a[0]=1,a[3]=5}; // 指定元素初始化,其他元素默认为0 // 错误 int a[]; int[4] a; int a[b]; a={3,6,7}; a[4]={1,5,6,8,2};
3、内存分析
数组的内存寻址与基本数据类型一样,由大及小,优先分配大的地址给先来的变量,但是数组元素在内存中的存储地址是由小及大的,按照元素的顺序来,元素值的存储又是由大及小的。
例如
char cs[5] = {'a', 'A', 'D', 'e', 'f'};
该数组内存地址分配原理如下
二、二维数组
1、二维数组是一个特殊的一维数组:它的元素是一维数组。
例如 int a[2][3]可以看作由一维数组a[0]和一维数组a[1]组成,这两个一维数组都包含了3个int类型的元素
2、初始化
int a[3][4] = {1,2,3,4,5};
int a[3][4] = {{},{},{}};
数组元素简单访问
int a[][5] = {3,5,17,26,8};
三、字符串
1、字符串的初始化
char s[] = "123";
其中"123"是由'1'、'2'、'3'、'\0'组成
字符串的输出"%s",'\0'不会被输出
2、\0 的作用
作为字符串结束的标志,例如
int mian(){char name[8] ="itcast";char name2[] = {'i','t'};printf("%s",name2);printf("%s",&name2[1]);}
输出结果为 itcast 与 titcast,因为name2没有\0结尾,结合内存存址分析可知,printf会从name[1]也就是't'字符的地址开始访问,知道遇到\0停止输出。
3、字符串变量与字符串常量
字符串常量存储在常量区,下图name2跟name3地址相同,都指向唯一"it"
字符串变量属于数组,都存放在内存的栈内存中,可以改动。
小结:
定义字符串的2种方式:
1>利用数组 char name[] = "it";
特点:字符串里面的字符是可以修改的。
使用场合:字符串的内容需要经常修改。
2>利用指针 char *name = "it";
特点:字符串的其实是一个字符串常量,里面的字符是不能修改的。
使用场合:字符串的内容不需要修改,而且这个字符串需要经常使用
保存字符串有2种方式,一时利用数组,另一种是利用指针
同样保存字符串数组也有两种方式,一是利用数组,一是利用指针
当字符串是可变的,用数组存储。
- C数组和字符串
- C 字符数组和字符串
- C语言------数组和字符串
- C语言 数组和字符串
- c语言 数组和字符串
- C Java 字符串和字符数组区别
- c语言中的数组和字符串
- C语言 字符数组和字符串
- C语言函数,数组和字符串
- 黑马程序员------C语言-----数组和字符串
- 黑马程序员---c语言 数组和字符串
- C中的字符串和字符数组
- C语言基础—数组和字符串
- c++primer要点-字符串、向量和数组
- C语言中的数组和字符串
- C语言 数组和字符串篇
- C语言定义字符串和字符数组
- C语言字符数组和字符串注意
- 调用外部程序对输入的影响
- 功率谱密度
- Qt——滚动条自动下移
- String split 及 转义字符
- 西安宾利婚车租赁出租车队总管的职责
- C数组和字符串
- MySql SQL语句执行的顺序
- 程序设计之基础与3种学习方法
- android greenDAO
- 调试技巧
- CentOS的软件安装方法rpm和yum
- /dev/tty /dev/ttyS0 /dev/tty0区别
- H264编码原理以及I帧B帧P帧(1)
- 卡通小人的眼睛跟着鼠标动