【学习笔记】【C语言】字符串数组

1.使用场合
* 一维字符数组中存放一个字符串,比如一个名字char name[20] = "mj"
* 如果要存储多个字符串,比如一个班所有学生的名字,则需要二维字符数组,char names[15][20]可以存放15个学生的姓名(假设姓名不超过20字符)
* 如果要存储两个班的学生姓名,那么可以用三维字符数组char names[2][15][20]

2.初始化
char names[2][10] = { {‘J‘,‘a‘,‘y‘,‘\0‘}, {‘J‘,‘i‘,‘m‘,‘\0‘} }; 
char names2[2][10] = { {"Jay"}, {"Jim"} }; 
char names3[2][10] = { "Jay", "Jim" };

3.代码

 1 #include <stdio.h>
 2
 3 int main()
 4 {
 5     //char name[] = {‘i‘, ‘t‘, ‘c‘, ‘H‘, ‘s‘, ‘t‘, ‘\0‘};
 6     char name[] = "itcast";
 7
 8     name[3] = ‘H‘;
 9
10     /*
11     int size = sizeof(name);
12
13     printf("%d\n", size);
14     */
15
16     printf("我在%s上课\n", name);
17
18     return 0;
19 }
20
21 // 字符串的一个初始化
22 void test2()
23 {
24     // \0的ASCII码值是0
25     // 都是字符串
26     char name[8] = "it";
27     char name2[8] = {‘i‘, ‘t‘, ‘\0‘};
28     char name3[8] = {‘i‘, ‘t‘, 0};
29     char name4[8] = {‘i‘, ‘t‘};
30
31     // 不算是一个字符串(只能说是一个字符数组)
32     char name5[] = {‘i‘, ‘t‘};
33 }
34
35 /*
36 void test()
37 {
38     // ‘a‘ ‘b‘ ‘A‘
39     // "jack" == ‘j‘ + ‘a‘ + ‘c‘ + ‘k‘ + ‘\0‘
40
41     char name[10] = "jack888\n";
42
43     // 把数组传入,仅仅是个警告
44     printf(name);
45
46     printf(name);
47
48     printf(name);
49
50     printf("57843578435");
51 }*/

注意

 1 #include <stdio.h>
 2
 3 /*
 4  \0的作用
 5  1.字符串结束的标记
 6  2.printf("%s", name2);
 7  会从name2这个地址开始输出字符,直到遇到\0为止
 8  */
 9
10 int main()
11 {
12     char name[] = "itc\0ast";
13
14     char name2[] = {‘o‘, ‘k‘};
15
16     //printf("%s\n", name2);
17
18     printf("%s\n", &name2[1]);
19
20     return 0;
21 }
时间: 2024-10-21 09:09:25

【学习笔记】【C语言】字符串数组的相关文章

13-黑马程序员------C 语言学习笔记--- C语言一维数组

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 四 简单构造数据类型 一 一维数组 01 一维数组的定义: 类型标识符 数组名[常量表达式]; 如:int a[10];其表示定义了一个名为a的整型数组,该数组共有10个元素,即10个整型变量,可以储存10个整型数据. 02 类

C语言学习笔记(五) 数组

数组 数组的出现就是为了解决大量同类型数据的存储和使用的问题: 数组的分类:一维数组.二维数组. 一维数组:为多个变量连续分配存储控件:所有的变量的数据类型必须相同:所有变量所占的字节大小必须相等: 例如:int a[4]; 一维数组名不代表数组中的所有元素而是代表数组中第一个元素的地址: 数组的初始化: 完全初始化: int a[4] = {1,2,3,4}; 不完全初始化: int a[4] = {1};  未被初始化的元素的值默认为0; 数组清零 int a[4] = {0}; 不初始化:

IOS学习笔记---C语言第四天

1 //?生成2个数组,每个数组都有10个元素,元素取值范围20-40之间,数组对应元素相 加,放到另外?一个数组中 2 #import <Foundation/Foundation.h> 3 4 int main(int argc, const char * argv[]) 5 { 6 7 int num1[10]={0},num2[10]={0},num3[10]={0}; 8 for (int i = 0; i<10; i++) { 9 num1[i]=arc4random()%2

iOS学习笔记---oc语言第四天

字符串 数组 一.使用苹果帮助文档 学会使?用苹果帮助?文档是开发者的?一项技能 Inherits from 继承?自 Conforms to 遵循什么协议 Framework 属于哪个框架 Availability 什么时候可?用的 Declared in 声明在什么头文件?里 Related documents 相关文档 Sample code ?示例代码 快速打开帮助文档 在代码中,将?鼠标停留在 类名或者?法名上,option+?鼠标左键,点击 Reference的超链接进?入帮助?文档

iOS学习笔记---c语言第十天

动态内存分配 一.存储区划分 从低到高(内存地址小----内存地址大)  :  代码区---常量区---静态区---堆区---栈区 栈内存 //凡是在函数体内定义的变量 都存储在栈区(包括形参). int a = 10;//a也是在栈区域里面 float b = 1.5;//b也是在栈区域里面 char c = 'b'; double d = 3.14; printf("%p %p %p %p\n",&a,&b,&c,&d); //栈的特点先进后出,先定

iOS学习笔记---c语言第十一天

函数指针 一.函数指针定义 //函数声明:声明我是一个什么函数 //求两个数的和 //函数的类型:int (int x,int y) //即:我是一个返回值为整型,有两个整型参数的函数. //函数名是 sum int sum(int x,int y); 函数指针定义p是变量,其他是类型(通常没有形参a,b) //函数指针类型 int (*)(int x,int y) //描述:指向 返回值为 int 两个int参数 的 指针类型 //函数指针变量: p //初始值 : sum printf("%

iOS学习笔记---c语言第九天

高级指针 指向结构体变量的指针,称为结构体指针 可以使用->指向内容. %p打印地址 void pLenth(cPoint *p1,cPoint *p2) //求两点间的距离  用的开方函数sqrt()和平方函数pow(,) { float a = sqrt(pow((p1->x-p2->x), 2)+pow((p1->y-p2->y), 2)); printf("两点距离为%.2f\n",a); } //main.m中代码 #import <Fou

JavaScript学习笔记【3】数组、函数、服务器端JavaScript概述

笔记来自<JavaScript权威指南(第六版)> 包含的内容: 数组 函数 服务器端JavaScript概述 数组 数组是动态的:根据需要它们会增长或缩减,并且在创建数组时无须声明一个固定的大小或在数组大小变化时无须重新分配空间. 数组可能是稀疏的:索引不一定要连续的,它们之间可以有空缺. 通常,数组的实现是经过优化的,用数字索引来访问数组元素一般来说比访问常规的对象属性要快很多. 数组继承自Array.prototype中的属性,它定义了一套丰富的数组操作方法. 如果省略数组直接量中的某个

iOS学习笔记---oc语言第五天

字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key-value对)的数据 对于“name:张三”来讲,key就是“name”,key对应的value是“张 三” 一个key-value对认为是一个元素(实体),字典是存储key-value对 的容器. 特点: 与数组不同,数组靠下标存取数据,数组的下标是唯一的. 字典靠key存取元素.key不能重复,

iOS学习笔记---oc语言第六天

Block .数组高级 block本质上就是匿名函数(没有名称的函数) block语法和函数指针很相似 回顾函数 函数:C语?中,实现某一类功能的代码段. 完整的函数包含两部分:函数声明.函数定义 函数声明,即函数原型.例如:int sum(int x,int y);具有两个整型参 数,一个整型返回值的函数. 函数定义,即函数实现.例如:int sum(int x,int y){     retrun x + y;     } 回顾函数指针 函数指针(变量):存放函数地址(函数名)的指针变量.