一、字符串与数组

    1、定义:使用字符数组表示字符串

    2、特征:

      1)、可以直接使用字符串字面量初始化字符数组

      2)、声明后,赋值就只能使用字符串操作函数strcpy函数赋值

      3)、可以使用数组的一一赋值

      4)、可以使用数组的整体赋值

      5)、无需而外申请内存空间

    3、应用:

  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main(int argc, char **argv)
  5. {
  6. char arrCh1[] = "Sound";
  7. char arrCh2[] = {'S', 'o', 'u', 'n', 'd',};
  8. char arrCh3[];
  9. arrCh3[] = 'S';
  10. arrCh3[] = 'o';
  11. arrCh3[] = 'u';
  12. arrCh3[] = 'n';
  13. arrCh3[] = 'd';
  14. arrCh3[] = '\0';
  15. char arrCh4[];
  16. strcpy(arrCh4, "Sound");
  17.  
  18. printf("arrCh1: %s\n", arrCh1);
  19. printf("arrCh2: %s\n", arrCh2);
  20. printf("arrCh3: %s\n", arrCh3);
  21. printf("arrCh4: %s\n", arrCh4);
  22.  
  23. return ;
  24. }

    1)、无需字符数组的最后一个是'\0',单个一一赋值时,需要特别留意,最后要加上第14行的代码,

    2)、为字符数组申请内存空间时,一定要比需要的多一个字节,存放'\0'结束符

    3)、为字符数组整体赋值时,不需要将最后一个赋值为'\0',但是数组空间必须比需要的多一个字节

    4)、直接使用字符串字面量为字符数组赋值,就无需指定大小

30深入理解C指针之---字符串和数组的更多相关文章

  1. 32深入理解C指针之---字符串操作

    一.字符串操作主要包括字符串复制.字符串比较和字符串拼接 1.定义:字符串复制strcpy,字符串比较strcmp.字符串拼接strcat 2.特征: 1).必须包含头文件string.h 2).具体 ...

  2. 27深入理解C指针之---字符串基础

    一.字符串:是以ASCII字符NUL结尾的字符序列,NUL表示为\0 1.定义:将字符按顺序存储在数组中,以NUL结尾. 2.特征: 1).每个字符串长度只是包含所有的字符,不包括最后的NUL,手动分 ...

  3. C语言深入理解通过指针引用多维数组(指针中使用起始地址 元素地址 元素值的区分)

    #include "pch.h" #include <iostream> #include<stdio.h> int main() { // std::co ...

  4. 图解c/c++多级指针与“多维”数组

    声明:本文为原创博文,如有转载,请注明出处.若本文有编辑错误.概念错误或者逻辑错误,请予以指正,谢谢. 指针与数组是C/C++编程中非常重要的元素,同时也是较难以理解的.其中,多级指针与“多维”数组更 ...

  5. 图解C/C++多级指针与多维数组

    声明:本文转自 chenyang_yao ,欢迎阅读原文. 指针与数组是C/C++编程中非常重要的元素,同时也是较难以理解的.其中,多级指针与“多维”数组更是让很多人云里雾里,其实,只要掌握一定的方法 ...

  6. 深入理解C指针之五:指针和字符串

    原文:深入理解C指针之五:指针和字符串 基础概念 字符串可以分配到内存的不同区域,通常使用指针来支持字符串操作.字符串是以ASCII字符NUL结尾的字符序列.ASCII字符NUL表示为\0.字符串通常 ...

  7. 33深入理解C指针之---通过字符串传递数据

    一.传递字符串:在函数的参数列表中,将参数声明为char指针即可实现通过字符串传递参数 1.特征: 1).字符串以char指针的形式传递,一般是const指针传递: 2).使用字符数组声明字符串,调用 ...

  8. 31深入理解C指针之---指针和字符串

    一.字符串与指针 1.定义:使用字符指针表示字符串 2.特征: 1).可以直接使用字符串字面量初始化字符指针 2).声明后,赋值就只能使用字符串操作函数strcpy函数赋值 3).可以使用类似于数组的 ...

  9. 深入理解C指针之四:指针和数组

    原文:深入理解C指针之四:指针和数组 数组是C内建的基本数据结构,数组表示法和指针表示法紧密关联.一种常见的错误认识是数组和指针完全可以互换,尽管数组名字有时可以当做指针来用,但数组的名字不是指针.数 ...

随机推荐

  1. How to Install Zabbix Server on Centos6.7

    Prerequisite Environment First you must use your Subscription Manager to enable SCL: [root@fileserve ...

  2. python3 完全平方数(循环)

    题目 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 代码: for i in range(1,85): if 168 % i == 0: j = 168 ...

  3. 使用selenium和phantomJS浏览器登陆豆瓣的小演示

    # 使用selenium和phantomJS浏览器登陆豆瓣的小演示 # 导入库 from selenium import webdriver # 实例化一个浏览器对象 web = webdriver. ...

  4. nRF52-PCA10040——Overview

    Overview Zephyr applications use the nrf52_pca10040 board configuration to run on the nRF52 Developm ...

  5. Linux中同步与异步、阻塞与非阻塞概念以及五种IO模型

    1.概念剖析 相信很多从事linux后台开发工作的都接触过同步&异步.阻塞&非阻塞这样的概念,也相信都曾经产生过误解,比如认为同步就是阻塞.异步就是非阻塞,下面我们先剖析下这几个概念分 ...

  6. jmeter中重要组件及其执行顺序

    jmeter中重要组件有:Sampler,计时器,前置处理器和后置处理器,断言,Controller,Listener和配置原件. 同类组件之间是从上到下的顺序执行,不同组件之间是按照以下的顺序执行的 ...

  7. selenium2通过linkText/partialLinkText定位元素

    通过linkText定位 linkText是根据链接的文本来定位,如下图,导航上全是链接 此时我想找“新闻”这个元素,那么我就可以使用linkText方式定位,语法: By.linkText(“新闻” ...

  8. Android后台的linux一直保持唤醒状态,不进入睡眠

    由于要做Android手机的电池续航测试,是不能插usb的,所以把case放到sh文件中,之后push到手机里,执行的. 但是出现个问题,假如case中有很长时间的sleep操作,关闭手机屏幕,这样l ...

  9. re——正则表达式

    常用的表达式规则 '.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行 '^' 匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r&q ...

  10. rsa Round #71 (Div. 2 only)

    Replace A Time limit: 1000 msMemory limit: 256 MB   You are given a string SS containing only letter ...