C语言:字符串数组

C语言(字符数组) 数组是有序数据的集合。数组中的所有元素都必须是同类型的。用一个统一的名字和下标来唯一的确定元素在数组中的位置。在程序中把循环和数组结合起来,对数组元素进行操作,可有效地处理大批量的数据,提高工作效率。正确定义数组。注意:元素的下标默认从0开始、防止下标越界。注意数组的定义形式和数组元素的引用形式的本质区别。二维数组元素在内存中按行存储。初始化时,按行赋值。C语言中无字符串变量,字符串是以字符数组形式存放的。系统在每个串尾自动加一个串结束符‘\0’,但‘\0’不是字符串的组成部分。 阅读详情

字符串基础操作

在用格式化说明符%s进行输入输出时,其输入输出项均为数组名。但在输入时,相邻两个字符串之间要用空格分隔,系统将自动在字符串后加\0。在输出时,遇到结束符\0作为输出结束标志。

对于字符串的操作,我们需要使用到一些系统提供的API函数。

字符串输入
scanf

语法:

 scanf("%s",数组名);  

注意:数组名对应的数组只能是char类型,从控制台输入字符串之后,默认为追加\0

案例:

 /*************************************************************************
   > File Name:    demo01.c
   > Author:       三道渊
   > Description:  
   > Created Time: 2025年07月21日 星期一 09时26分23秒
  ************************************************************************/
 ​
 #include <stdio.h>
 ​
 int main(int argc,char *argv[])
 {
     // 创建一个char数组,用来存储姓名
     char name[20];
 ​
     printf("请输入您的名字:\n");
     scanf("%s", name); // 用字符数组接收一个控制台输入的字符串常量
 ​
     printf("您的姓名是%s\n", name);
 ​
     return 0;
 }
 ​

运行效果:

注意:采用scanf进行字符串输入,要求字符串中不能有空格,否则字符串遇到空格就会结束。

fgets

语法:

 fgets(数组名,数组容量,stdin);

功能:

从键盘录入一个字符串常量到字符数组,返回字符数组的地址(首地址,默认返回的地址,一般用12位16进制数表示)

说明:

采用fgets进行字符串输入,可获取所有输入的字符串,包含\n,在实际的字符串处理时,我们可能需要手动处理\n

案例:

 
/*************************************************************************
   > File Name:    demo02.c
   > Author:       三道渊
   > Description:  
   > Created Time: 2025年07月21日 星期一 09时39分12秒
  ************************************************************************/
 ​
 #include <stdio.h>
 ​
 int main(int argc,char *argv[])
 {
     // 创建一个字符数组,用来存储姓名
     char name[20]; // 只是创建数组,必须指定容量;如果初始化,可以省略容量。
 ​
     // 计算数组容量
     int len = sizeof(name) / sizeof(name[0]);
 ​
     printf("请输入您的姓名:\n");
     fgets(name, len, stdin); 
 ​
     printf("您的姓名是%s\n", name);
 ​
     return 0;
 }
 ​

运行效果:

注意:

① 如果输入的字符串不包括空格或换行,可以使用scanf或者fgets

② 如果输入的字符串包括空格或换行,只能使用fgets

gets 危险的【C11移出】

语法:

  gets(数组名);

功能:

从键盘录入一个字符串常量到字符数组,返回字符数组的地址(首地址,默认返回的地址,一般用12位16进制数表示)

说明:

采用gets进行字符串输入,可获取所有输入的字符串,包含\n,在实际的字符串处理时,我们可能需要处理\n

案例:

 
/*************************************************************************
   > File Name:    demo02.c
   > Author:       三道渊
   > Description:  
   > Created Time: 2025年07月21日 星期一 09时39分12秒
  ************************************************************************/
 ​
 #include <stdio.h>
 ​
 int main(int argc,char *argv[])
 {
     // 创建一个字符数组,用来存储姓名
     char name[20]; // 只是创建数组,必须指定容量;如果初始化,可以省略容量。
 ​
     // 计算数组容量
     int len = sizeof(name) / sizeof(name[0]);
 ​
     printf("请输入您的姓名:\n");
     gets(name); 
 ​
     printf("您的姓名是%s\n", name);
 ​
     return 0;
 }

字符串输出
printf

语法:

  printf("%s",数组名);   

案例:

 /*************************************************************************
   > File Name:    demo02.c
   > Author:       三道渊
   > Description:  
   > Created Time: 2025年07月21日 星期一 09时39分12秒
  ************************************************************************/
 ​
 #include <stdio.h>
 ​
 int main(int argc,char *argv[])
 {
     // 创建一个字符数组,用来存储姓名
     char name[20]; // 只是创建数组,必须指定容量;如果初始化,可以省略容量。
 ​
     // 计算数组容量
     int len = sizeof(name) / sizeof(name[0]);
 ​
     printf("请输入您的姓名:\n");
     fgets(name, len, stdin); 
 ​
     printf("您的姓名是%s\n", name);.// %s支持字符串常量,也支持字符数组,都是以字符串形式输出
 ​
     return 0;
 }
 ​
fputs

语法:

 fputs(数组名,stdout);

功能:

输出一个字符串

说明:

字符串可以包含转义字符(以\开头的字符)

案例:

 
/*************************************************************************
   > File Name:    demo03.c
   > Author:       三道渊
   > Description:  
   > Created Time: 2025年07月21日 星期一 09时52分21秒
  ************************************************************************/
 ​
 #include <stdio.h>
 ​
 int main(int argc,char *argv[])
 {
     char arr[] = "hi yifanjiao\neat!\n";
 ​
     // 第1种输出
     printf("%s", arr);
 ​
     // 第2种输出
     fputs(arr, stdout);
 ​
     return 0;
 }
 ​

puts 危险的【C11移出】

语法:

   puts(数组名称);

功能:

输出一个字符串

说明:

字符串可以包含转义字符

案例:

 
/*************************************************************************
   > File Name:    demo03.c
   > Author:       三道渊
   > Description:  
   > Created Time: 2025年07月21日 星期一 09时52分21秒
  ************************************************************************/
 ​
 #include <stdio.h>
 ​
 int main(int argc,char *argv[])
 {
     char arr[] = "hi yifanjiao\neat!\n";
 ​
     // 第1种输出
     printf("%s", arr);
 ​
     // 第2种输出
     puts(arr);
 ​
     return 0;
 }
   

字符串相关函数

字符串拼接

语法:

 strcat(字符数组,需要拼接的字符串或者字符数组或者字符指针);  

解释:

① 参数1必须是字符数组;参数2可以是字符数组、可以是字符串常量、还可以是字符指针。

② 这里的参数2被拼接到了参数1,所以参数1的剩余空间足够大,要能够容纳参数2。

引入:

 #include <string.h>

案例:

  • 需求:将两个字符串拼接为一个字符串

  • 分析:

  • 代码:

     /*************************************************************************
       > File Name:    demo04.c
       > Author:       三道渊
       > Description:  
       > Created Time: 2025年07月21日 星期一 10时29分31秒
      ************************************************************************/
     ​
     #include <stdio.h>
     // 使用字符串相关函数需要引入必要的头文件
     #include <string.h>
     ​
     int main(int argc,char *argv[])
     {
         // 创建一个字符数组,用来接收控制台输入
         char name[20];
     ​
         printf("请输入您的名字:\n");
     ​
         // 通过控制台输入字符串(支持空格)
         fgets(name, sizeof(name) / sizeof(name[0]), stdin);
     ​
         // 输出拼接  strcat返回拼接后的字符串
         fputs(strcat(name, "你好!"), stdout);
     ​
         printf("\n");
         // char str[50];
         // fputs(strcat(str, strcat(name, "你好!")), stdout);
         
         return 0;
     }
     ​

    注意:

    ① 参数1 必须是字符数组,长度必须足够大,以便于能够容纳被链接的字符串。

    ② 连接后系统将自动取消参数1后面的结束符\0

    ③ 参数2可以是字符数组名,也可以是指针,也可以是字符串常量,如:strcat(s1,"def"); strcat(s1,s2);

字符串拷贝

语法:

 strcpy(数组名,字符串);

解释:简单来说,类似于将一个字符串赋值给一个字符数组。这个函数一般用来做赋值处理。

引入:

 #include <string.h>

说明:这个函数适合给字符串赋值

 char str[20] = "**培";                     // 正确,字符数组的初始化,字符串初始化
 char str[20] = "**培"; str = "*佳";        // 错误,不能对数组进行赋值
 char str[20] = "**凡"; strcpy(str, "**林");// 正确,利用函数实现类似赋值的操作

注意: strcat和strcpy的区别:

  • strcat: **凡 + **鸿 → **凡**鸿(追加)

  • strcpy:**凡 + **鸿 → **鸿 (覆盖)

案例:

 
/*************************************************************************
   > File Name:    demo05.c
   > Author:       三道渊
   > Description:  
   > Created Time: 2025年07月21日 星期一 10时41分17秒
  ************************************************************************/
 ​
 #include <stdio.h>
 #include <string.h>
 ​
 int main(int argc,char *argv[])
 {
     // 需求:对数组赋值
     char name[50] = "hello";
 ​
     printf("打印初始化后的数组:%s\n", name);
 ​
     // 对一个数组赋:
     // name = "**鸿"; // 数组一旦创建,就无法改变,所以不能对数组进行赋值
     // 通过 strcpy(字符数组,字符数组/字符常量/字符指针)实现给数组赋值
     strcpy(name, "my");// my | myllo
     printf("打印重新赋值后的数组:%s\n", name);
 ​
     return 0;
 }
 ​
字符串比较

语法:

 strcmp(字符串1,字符串2);

注意:这里的字符串可以是字符串常量、字符数组、字符指针。

引入:

 #include <string.h>   

功能:如果是英文,比较两个字符串对应位置字符ASCII的大小

返回值:

  • 如果字符串1 等于 字符串2,返回0

  • 如果字符串1 大于 字符串2,返回正数(>0)

  • 如果字符串1 小于 字符串2,返回负数(<0)

说明:

① 执行这个函数时,自左向右逐个比较对应字符的ASCII的值,直到发现了不同字符或字符串结束符\0为止

② 对字符串不能用数值型比较符。比如:"abc" == "abc",这种比较是错误的。

③ 字符串1与字符串2可以是字符数组、字符指针、字符串常量。

案例:

  • 需求:通过控制台输入用户名和密码,并进行校验

  • 代码:

     
    
    /*************************************************************************
       > File Name:    demo06.c
       > Author:       三道渊
       > Description:  
       > Created Time: 2025年07月21日 星期一 11时45分47秒
      ************************************************************************/
     ​
     #include <stdio.h>
     #include <string.h>
     ​
     int main(int argc,char *argv[])
     {
         // 用户登陆案例
     ​
         // 创建两个变量,用来存储用户名和密码
         char username[20], password[8];
     ​
         printf("---------用户登录--------\n");
         printf("请输入您的用户名:\n");
         scanf("%s",username);// 数组名本身就是一个地址(首元素的首地址)
     ​
         printf("请输入您的密码:\n");
         scanf("%s",password);
     ​
         // 校验
         if (!strcmp(username,"admin") && !strcmp(password,"123456"))  // 相等:strcmp(..) == 0
             printf("登录成功!\n");
         else
             printf("用户名或者密码错误!\n");
     ​
         return 0;
     }
     ​
  • 运行结果:

字符串长度

语法:

 strlen(字符串);

引用:

 #include <string.h>

注意:返回字符串中包含的字符的实际个数。遇到\0结束,不包含\0;如果数组中不存在\0,就以数组的实际长度作为字符串长度

案例:

  • 需求:字符串长度案例

  • 代码:

     /*************************************************************************
       > File Name:    demo07.c
       > Author:       三道渊
       > Description:  
       > Created Time: 2025年07月21日 星期一 14时05分22秒
      ************************************************************************/
     ​
     #include <stdio.h>
     #include <string.h>
     ​
     int main(int argc,char *argv[])
     {
         // 测试数据1
         char s1[] = {'h','i','\0','h','i','\0'};
         printf("数组长度:%lu\n字符串长度:%lu\n", sizeof(s1)/sizeof(s1[0]), strlen(s1));// 数组长度:6,字符串长度:2
     ​
         // 测试数据2
         char s2[] = "hi\0hi\0";// 使用双引号包裹的内容称之为 字符串常量,字符串常量默认会有一个结尾的\0
         printf("数组长度:%lu\n字符串长度:%lu\n", sizeof(s2)/sizeof(s2[0]), strlen(s2));// 数组长度:7,字符串长度:2
     ​
         // 测试数据3
         char s3[] = {'h','e','l','l','o'};// strlen()判断一个字符串的长度,优先判断是否存在\0,如果不存在,就返回数组实际长度,因编译器原因,处理机制也有所不同。
         printf("数组长度:%lu\n字符串长度:%lu\n", sizeof(s3)/sizeof(s3[0]), strlen(s3));// 数组长度:5,字符串长度:5,这种写法不安全,不同编译器编译结果不同
     ​
         // 测试数据4
         char s4[] = "hello";
         printf("数组长度:%lu\n字符串长度:%lu\n", sizeof(s4)/sizeof(s4[0]), strlen(s4));// 数组长度:6,字符串长度:5
     ​
         return 0;
     }
     ​
案例
  • 需求:输入一行字符,统计其中有多少个单词,单词之间使用空格隔开。举例:I LOVE YOU

    分析:采用通过空格统计单词的方法。具体是:

    ① 用连续若干个空格算一个、一行开头的空格不计的方法决定单词数目;

    ② 从第一个字符开始逐个检查字符串中的每一个字符。若查到某一字符非空格,而其前面的字符是空格,则表示新单词开始,让计数变量num++。否则,当前字符非空格,前面字符也非空格,则非新单词,num不变;

    ③ 用变量word=0或1来表示前面字符是空格或不是空格。

  • 代码:

     /*************************************************************************
       > File Name:    demo08.c
       > Author:       三道渊
       > Description:  
       > Created Time: 2025年07月21日 星期一 14时37分00秒
      ************************************************************************/
     ​
     #include <stdio.h>
     #include <ctype.h>
     ​
     int main(int argc,char *argv[])
     {
         // 创建一个数组,用来接收控制台录入的字符串
         char string[100];
     ​
         // 创建2个变量,word:统计字符是否是空字符(空字符:0,非空字符:1),num:用来统计单词个数
         int num = 0, word = 0; 
     ​
         // 创建一个变量,用来存储遍历到的字符
         char c;
     ​
         // 通过控制台录入字符串
         printf("请输入一句话:\n");
         fgets(string, sizeof(string)/sizeof(string[0]), stdin);
     ​
         // 遍历
         for (int i = 0; (c = string[i])!='\0'; i++)
         {
             if (isspace(c)) // 判断一个字符是否是空格,等价于 if (c == ' ')
             {
                 // 如果是空格,标记
                 word = 0;
             }
             else
             {
                 // 如果上一个字符是空格,就需要统计单词
                 if (!word) // 等价于 word == 0
                 {
                     // 标记word为非空格
                     word = 1;
                     // 统计单词个数
                     num ++;
                 }
                 
             }
         }
     ​
         printf("%s\n中有%d个单词!\n", string, num);
         
         return 0;
     }
     ​
案例

有三个字符串,要求找出其中最大者。

分析:设计一个二维字符数组str3,即3行20列。

① 可把str[0]、str[1]、str[2]看作3个一维字符数组,各有20个元素;

② 用gets函数分别输入3个字符串到str[0]、str[1]、str[2]中 ;

③ 用字符串函数对str[0]、str[1]、str[2]进行比较,得到最大者。

 
/*************************************************************************
   > File Name:    demo09.c
   > Author:       三道渊
   > Description:  
   > Created Time: 2025年07月21日 星期一 14时53分22秒
  ************************************************************************/
 ​
 #include <stdio.h>
 #include <string.h>
 ​
 int main(int argc,char *argv[])
 {
     // 创建一个数组,用来存储最大的字符串
     char max[50];
     // 创建一个数组,用来存储3个用来参与比较的字符串
     char str[3][50]/* = {"apple","orange","egg"}*/;
 ​
     int i;
 ​
     // 通过循环控制台输入
     printf("请输入3个测试字符串:\n");
     for (i = 0; i < 3; i++)
     {
         fgets(str[i],50,stdin);
     }
 ​
     // 比较
     if (strcmp(str[0],str[1]) > 0) strcpy(max, str[0]);
     else strcpy(max,str[1]);
 ​
     if (strcmp(str[2],max) > 0) strcpy(max,str[2]);
 ​
     printf("\n三个字符串中最大的字符串是%s\n!", max);
 ​
     return 0;
 }
 ​
c语言:动态输入字符串数组 考研题中经常会遇到给定一条英文句子,让我们对其每个单词进行操作,不同于对整型数据操作,字符串在c语言中必须存放到数组中,无形之中又给考题增加了难度 一般情况下,字符串数组都以二维数组或指针数组定义,而二维数组不能初始化为空,所以本文动态定义以指针数组为例,代码如下 #include<stdio.h> #include<stdlib.h> //字符串数组默认可以用空格隔开!!!! #include<string.h> #include<malloc.h> vo 阅读详情

相关推荐

C语言入门:数组,字符串,结构体

文章目录1. 数组数组初始化数组的输入2. 字符串3. 结构体创建结构体定义结构体 1. 数组 n[0]相当于n1, 输入5个数字,输出他们的倒序 #include <stdio.h> int main(){ int n[5]; for(int i=0;i<5;++i){ scanf("%d",&n[i]); } for(int i=4;i>=0;--i){

凯凯在此 675

C语言 | 学习C语言字符串数组,看这一篇就够了!

一、字符串的定义 char *str1 = {"Hello world!"}; // 方式一 (可省略{}) char str2[] = {"Hello world!"}; // 方式二 (可省略{}) char str3[] = {'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!', '\0'}; // 方式三 几种字符串定义方式之间的区别: (1) 方式一的本质是定义了一个char型指针str1, 指向的是字符串常量Hello wo

羽墨志 1万+

[Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--地图(一)

上面3章图是完成后的效果图 游戏已完成,除了英雄外,基本还原了90%的游戏内容,一共13关,20种防御塔,30+种敌人,如上图,以假乱真吧 下面从地图模块起介绍我的方法,如有更好的方法,请留言一起讨论,游戏资源下载原版游戏数据包,解压即可 推荐一款软件,TextureUnpackerRelease1.04可以分割plist形式的图片,提高效率 经过一个月学习也发现之前有很多化简为繁的错误

7172

C语言-字符串-字符数组

定义的几种格式和整型一样。

ITQWQ的博客 1万+

微信小程序中蓝牙打印机中文编码处理:使用iconv-lite库

本文介绍了微信小程序集成蓝牙打印机时中文乱码问题的解决方案。由于打印机通常仅支持GBK/GB2312编码,而小程序使用UTF-8,导致中文显示异常。通过引入轻量级iconv-lite库进行编码转换,可高效解决该问题。文章详细说明了从库安装、编码转换到蓝牙发送的实现步骤,并提供了完整代码示例。关键注意事项包括编码验证、分段发送和兼容性测试。该方法经实际验证,能有效保障中文打印的准确性,适用于零售、物流等场景。

canglingyue的专栏 1310

EDA与机器学习融合:智能优化芯片设计流程的工程实践

机器学习作为数据驱动的核心技术,通过从历史数据中学习复杂模式,实现对系统行为的预测与优化。其原理在于构建模型,将输入特征映射到目标变量,从而揭示数据背后的内在规律。在工程领域,这项技术的核心价值在于能够将专家经验转化为可量化、可复用的智能模型,显著提升自动化水平与决策效率。电子设计自动化(EDA)是芯片设计的关键支撑,传统流程高度依赖人工试错,面临参数空间巨大、优化周期长等挑战。将机器学习应用于EDA,能够构建预测模型来预估设计性能(PPA),或通过代理模型加速设计空间探索,实现智能化的设计辅助与优化。本文

weixin_30411239的博客 684

C语言-字符数组

字符数组小记

NNLYF_的博客 9537

华为海思2026届数字IC秋招笔试真题解析与实战技巧(2025最新版)

本文深度解析华为海思2026届数字IC秋招笔试真题,涵盖高频考点如后端设计、低功耗设计、SystemVerilog语法等核心内容。提供时序违例修复、时钟树综合等实战技巧,帮助考生高效备考。特别关注UPF低功耗设计规范等最新考点,助力考生在秋招笔试中脱颖而出。

lg888的博客 1091

C语言零碎知识点之字符串数组

在C语言中字符串数组有两种表示方法。

二木成林 3万+

datart 二开环境搭建

下载源码, 地址: https://github.com/running-elephant/datart, dev 分支; 解压后使用 idea 打开; 服务端: 3.1 安装依赖, idea会自动安装; 3.2 修改配置文件 /config/application.yml 3.3 创建数据库,并将bin/datart.sql导入到数据库中 3.4 入口: /server/src/main/java/datart/DatartServerApplication.java [外链图片转存失败,源站可能有防.

又是再见? 6133

大模型时代必备技能:3种向量量化技术对比(PQ/AQ/RVQ)与选型指南

本文深入解析了大模型时代处理海量向量数据的关键技术——向量量化。通过对比Product Quantization (PQ)、Additive Quantization (AQ)和Residual Vector Quantization (RVQ)三种主流技术的核心原理、性能表现与适用场景,为工程师提供了从理论到实践的选型指南,旨在解决向量存储与检索的效率瓶颈,助力RAG等大模型应用高效落地。

silver的专栏 799

C语言:字符串数组与字符串指针数组

1,首先,不论是局部,静态还是全局数组都必须在定义的时候初始化,否则就得通过其他方式,eg 循环操作,字符串处理函数strcpy() 2,附以下代码: 主要完成将”I am from china ”倒置为”china from am I”, 最开始编写时,将str定义为字符串数组,怎么都出不来结果。半天才发现应该用字符串指针数组 3,那么问题来了,字符串数组和字符串指针数组有什么区别 ...

Kobe51920的博客 4万+

51单片机 DHT11温湿度传感器LCD显示+串口打印+Proteus仿真

DHT11+LCD1602+串口输出+Proteus仿真

perseverance51博客 7198

C语言:翻转字符串数组的两种方法

第一种指针类型: #include<stdio.h> #include<string.h> #include<stdlib.h> char rec(char*arr) { int len = strlen(arr);//11 //字符串首地址 char* p = arr; //字符串最后一个有效字符的地址 char* p1 =&arr[le...

Specif1c的博客 4098

yolov5 FPGA实现及verilog代码仿真

本文介绍了一种基于FPGA的卷积神经网络加速器设计,采用混合架构实现网络功能。该系统将训练和图像预处理等复杂计算保留在PC端执行,仅将主干网络部署在FPGA上。由于片上资源限制,建议通过外接DDR存储扩展容量。文章提供了完整的Verilog HDL源码,包括卷积单元(convUnit)、卷积层(convLayerSingle)和处理单元(processingElement)等核心模块,均已通过仿真验证。该设计采用流水线结构,使用浮点运算单元实现卷积计算,支持32x32图像输入和5x5卷积核处理。系统架构图中

QQ_778132974的博客 576

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C语言:数组-字符串数组

否则,当前字符非空格,前面字符也非空格,则非新单词,num不变;可以是字符数组名,也可以是指针,也可以是字符串常量,如:strcat(s1,"def");str = "*佳";采用fgets进行字符串输入,可获取所有输入的字符串,包含\n,在实际的字符串处理时,我们可能需要手动处理\n。从键盘录入一个字符串常量到字符数组,返回字符数组的地址(首地址,默认返回的地址,一般用12位16进制数表示)从键盘录入一个字符串常量到字符数组,返回字符数组的地址(首地址,默认返回的地址,一般用12位16进制数表示)

2301_77829391的博客 1522

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C语言:字符串指针数组

C语言:字符串指针数组 C语言:字符串指针与字符串数组_srhqwe的博客-优快云博客_c语言字符串指针和字符串数组 这个关于字符串指针的基础讲解,用于潜在了解字符串指针。 创建一个字符串指针:char* p = "hello world";那么char* 类型是必要的,那么我们可以知道char*[]这是char*类型的数组 ,如果加上变量名parr则就是:char * parr[]那么这就是一个数组,char类型的指针数组,里面存放的每个元素是char*,所以从p可以知

srhqwe的博客 4212

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

第五章:C 语言数组与字符串

本章将详细介绍数组和字符串的基本操作,同时深入讲解冒泡排序算法以及字符串处理函数,最后通过实现一个简单的学生成绩管理系统来综合运用这些知识。由于数组在内存中是连续存储的,我们可以通过数组首元素的地址和元素的偏移量来访问数组中的任意元素。时,编译器会根据初始化列表中的元素个数自动确定数组的长度为 3。未初始化,数组中的元素值是不确定的,它们包含的是内存中原来存储的随机值。数组元素在内存中是连续存储的,相邻元素的地址差值取决于元素的类型。数组时,系统会在内存中为其分配连续的存储空间,用于存储 5 个。

m0_69989279的博客 2085

C语言入门:深入理解C语言中的数组与字符串

在计算机科学的世界里,C语言以其底层性、高效性和简洁性而著称,成为了许多程序员接触编程领域的启蒙工具,也是现代系统级软件开发不可或缺的基础。在C语言的核心概念中,数组和字符串占据着极为重要的地位,它们不仅是构建复杂数据结构的基础构件,更是日常编程任务中的常用工具。深入理解数组与字符串的工作原理和使用方法,对于任何希望掌握C语言精髓的开发者来说,无疑是一次必不可少的认知之旅。

weixin_56154577的博客 943

C语言:字符串与数组的差别

C语言:字符串与数组的差别

qq_44776454的博客 1590

C语言:数组、字符串长度

无

huhuhuhuhuhuha的博客 5739

C语言:字符串数组与字符串指针数组【转】

原创 C语言:字符串数组与字符串指针数组 ...

Saintsos的博客 1829

C语言编程技巧:手把手教你如何定义及使用一个字符串数组

实现目的 我们在用C语言编写程序时,经常会遇到使用字符串数组的情况,这种数组的特点是, 数组中的每个元素都是一个字符串,但每个字符串的长度却不相同。如果你使用C++语言进行编程的话,实现起来相对比较简单,只需直接选择标准模板库的字符串string类,在代码中定义该类的一个数组即可实现。现在的问题是,在纯C语言中如何定义这样的一个字符串数组呢? 如对于下面的一个字符串数组: str = { “I l...

weixin_42354591的博客 3971

c语言中字母怎么定义,C语言编程技巧:手把手教你如何定义及使用一个字符串数组...

实现目的我们在用C语言编写程序时,经常会遇到使用字符串数组的情况,这种数组的特点是, 数组中的每个元素都是一个字符串,但每个字符串的长度却不相同。如果你使用C++语言进行编程的话,实现起来相对比较简单,只需直接选择标准模板库的字符串string类,在代码中定义该类的一个数组即可实现。现在的问题是,在纯C语言中如何定义这样的一个字符串数组呢?如对于下面的一个字符串数组:str = {“I love ...

weixin_33160876的博客 5192

005:C语言:数组和字符串

005:C语言:数组和字符串

m0_60613129的博客 189

C语言数组:C语言数组定义、二维数组、动态数组、字符串数组

1.C语言数组的概念在《更加优美的C语言输出》一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下:#include <stdio.h>#include <stdlib.h>int main(){ int a1=20, a2=345, a3=700, a4=22; int b1=56720, b2=9999, b3=20098, b4=2;...

hqq1256881740的博客 866
上一篇: C语言:二维数组和字符数组
下一篇: C语言:函数
三道渊
博客等级 码龄3年 118粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值