黑马程序员-[C语言字符串和数组]学习日记(三)
来源:互联网 发布:谁有网络高手黑客的q 编辑:程序博客网 时间:2024/04/30 19:27
字符串:
初始化:char a[] = "ning";
由‘n','i','n', 'g','\0'组成字符串输出 %s ’\0‘是不会输出的
char a[] = {'1','2'};
处理函数:strlen 和sizeof
strlen 函数:计算字符串长度
计算字符数,而不是字数。一个汉字做3个字符
计算字符不包括\0
sizeof指变量在内存中的大小
初始化:
char names[2][10] = { {'J','a','y','\0'}, {'J','i','m','\0'} };
char names2[2][10] = { {"Jay"}, {"Jim"} };
char names3[2][10] = { "Jay", "Jim" };
数组:一组具有相同数据类型的数据的有序的集合。
数组元素:构成数组的数据。
数组的下标:是数组元素的位置的一个索引指示。
初始化方式:
int a[3] = {10, 9, 6};
int a[3] = {10,9};//这种初始化方式没有定义的元素默认为0
int a[] = {11, 7, 6};
int a[4] = {[1]=11,[0] = 7};
内存分析:
数组存储空间的大小
存储空间的划分地址从高地址到地地址进行的,但一个数组内部元素又是从低到高的
数组名的作用,查看元素的地址
数组越界注意
数组作为参数
数组元素作为实参使用
数组名作为函数的形参或实参使用
一维数组
定义:数组的每个元素都不是一个数组
格式:类型说明符 数组名 [数组长度]例:int a[3]
遍历数组元素:
两种方式遍历(while循环和for循环)
遍历元素值和元素地址
字符数组的使用
6) Int 表示的是数组用来存放int类型的数据 不要理解成a是int类型
注意:
数组的长度可以是一个常量,也可以是常量表达式
数组名的命名规则严格按照标识符的命名规范
数组名不能和其他变量同名
数组的长度不可以是一个变量
数组的长度可以使用宏定义 例 #define m 3 int a[m]
数组的初始化方法:
定义的同时进行初始化
定义的同时进行全部初始化
定义的同时进行部分的初始化未初始化部分被系统初始化为零
先定义,后初始化
注意:如果使用先定义后初始化的方式,如果部分数组元素被初始化,系统不会对没有定义的数组元素进行赋值为零。
数组长度的计算
Int a[5];
int len=sizeof(a); 表示数组a所占用的总字节数。
则len=5*sizeof(a[0]);
Sizeof(a[0])表示每个int类型的数组元素所占用的字节数。
数组名做参数
数组名做实参时,形参也必须是相同类型的数组。
数组名做实参传递到形参时。实参与形参之间不是值传递而是地址传递。实参数组名将该数组的起始地址传递到形参数组。切实参与形参数组地址指向同一地址空间。
数组元素作实参传递到形参时,实参与形参之间是值传递。
- 黑马程序员-[C语言字符串和数组]学习日记(三)
- 黑马程序员-C语言学习日记(三)流程控制
- 黑马程序员 学习日记(三)-数组
- 黑马程序员------C语言-----数组和字符串
- 黑马程序员---c语言 数组和字符串
- 黑马程序员-C学习日记-数组
- 黑马程序员-------c语言学习笔记之数组与字符串
- 黑马程序员-C语言学习日记(一)基础语法
- 黑马程序员-C语言学习日记(二)基本运算
- 黑马程序员-C语言学习日记(四)函数
- 黑马程序员-C语言学习日记(五)复杂类型
- 黑马程序员-[C语言]学习日记(一)
- 黑马程序员-[C语言]学习日记(二)
- 黑马程序员——C语言基础--数组和字符串
- 黑马程序员—C语言笔记—数组和字符串
- 黑马程序员——c语言基础:数组和字符串
- 黑马程序员——IOS学习笔记(C语言字符串和数组)
- 黑马程序员——C语言学习笔记04 字符、数组和字符串的一些要点。
- poi 中获得行数 getLastRowNum() 和 getPhysicalNumberOfRows()
- Hadoop 1.x中fsimage和edits合并实现
- 解决:System.Data.SqlClient.SqlError: FILESTREAM 功能被禁用
- c查找算法——插值查找
- 问答Swift2.0-基础部分
- 黑马程序员-[C语言字符串和数组]学习日记(三)
- 轻松项目管理04-项目实施
- Unicode utf8等编码类型的原理
- coco2d js 修改预加载,使用自定义图片
- el的Attribute和Parameter属性的区别
- leetcode: (13) Roman to Integer
- Fragment的可见再加载的方法(真正的Fragment的OnResume和OnPause)
- Xamarin.ios 解决new NSUrl 返回为空的方法。
- Hadoop 2.x中fsimage和edits合并实现