字符串

字符数组

字符数组即char型数组,是存放char型数据的容器。
char 数组名 [数组容量]
要把一个数组赋值为’a’,‘z’,实现代码如下:

#define MAX_CHAR 26
...
int i = 0;
char array_ch[MAX_CHAR];

for(i = 0;i < MAX_CHAR; ++i){
    array_ch[i] = 'a' + 1;
}

int型也可以来存储字符,代码如下:

 #include <stdio.h>
 #define ARRAY_LENGTH 9
  
 int main(void){

     char array_ch[ARRAY_LENGTH];
     int array_int[ARRAY_LENGTH];
     int i = 0;

     for(i = 0; i < ARRAY_LENGTH; ++i){
         array_ch[i] = 'A' + 1;
         arrat_int = 'a' + 1;

     printf("Output the elements in array_ch:\n");
     for(i = 0;i < ARRAY_LENGTH; ++i){
         printf("array_ch[%d] = [%c]\t",i,array_ch[i]);
         if(i % 3 == 2)
             printf("\n");
     }

     printf("Output the elements in array_int:\n");
     for(i = 0; i < ARRAY_LENGTH; ++i){
         printf("array_int[%d] = [%c]",i,array_int[i]);
         if(i % 3 == 2)
             printf("\n");
     }

     printf("\nsizeof(array_ch) = %d\n",sizeof(array_ch));         /*输出char型数组变量的字长*/
     printf("\nsizeof(array_int) = %d\n",sizeof(array_int));       /*输出int型数组变量的字长*/

     return 0;
}

二维字符数组的定义:
char 数组名[容量1] [容量2];
例如:
char q[3] [4];
变量q被定义为字符数组,并占用34的数组空间。
二维数组的赋值:
q[2][3] = ‘a’;
q[1][1] = ‘b’;
其中,二维数组的第二行第三列元素被设定为’a’,第一行第一列元素被设定为’b’。
二位字符数组的初始化:
char q[2][2] = {{‘a’,‘b’},{‘a’,‘b’}};
char p[4][4] = {
{‘a’,‘b’,‘c’},
{‘e’,‘f’,},
{‘g’}.
{ };
char w[ ] [ ] = {
{‘a’,‘b’,‘o’,‘u’,‘t’},
{’!’}};
最后一个:w的容量为2
5,二行五列字符数组。

字符数组示例:
反转单词,方法一示例代码如下:

 #include <stdio.h>
 #define MAX_STRING 7

 int main(void){
     char str[MAX_STRING] = {'G','o','o','d','b','y','e'};
     char str_tem[MAX_STRING] = {0};
     int i = 0;
     int j = 0;
    
 printf("Original String:\n");
     for(i = 0;i < MAX_STRING; ++i){
         printf("%c",str[i]);
     printf("\n");

 i = 0;
 j = MAX_STRING - 1;
 while(i < MAX_STRING){
     str_tmp[j] = str[i];
     ++i;
     --j;
 }

 for(i = 0;i < MAX_STRING; ++i){
     str[i] = str_tmp[i];

 printf("Final String:\n");
 for(i = 0;i < MAX_STRING; ++i){
     printf("%c",str[i]);
 printf("\n");

 return 0;

}

方法二:

  #include <stdio.h>
  #define MAX_STRING 7

  int main(void){
      char str[MAX_STRING] = {'G','o','o','d','b','y','e'};
      int start = 0;
      int end = 0;
      char tmp = 0;

  printf("Original String :\n");
  for(start = 0; start < MAX_STRING; ++start){
      printf("%c",str[MAX_STRING]);
  printf("\n");
 
  start = 0;
  end = MAX_STRING - 1;

  while(start < end){
      tmp = str[start];
      str[start] = str[end];
      str[end] = tmp;
      
      ++start;
      --end;
  }

 printf("Final String:\n");
 for(start = 0; start < MAX_STRING; ++start){
     printf("%c",str[start]);
 printf("\n");

 return 0;
}

字符串变量:
字符串变量在内存中以一维数组形式存储。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值