代码及结果

#include <stdio.h>int main()
{char *a = "hello";char b[] = "hello";printf("地址 &a = %p\n", &a);        //a 的地址是指针变量 a 存放的地址,与字符串无关printf("  值 a = %p\n", a);          // a 变量的值时 字符串存放的地址,也是首元素的地址printf("a[0] = %c\n", a[0]);    // a[0]  是个元素printf("地址 &a[0] = %p\n", &a[0]);  // 元素 a[0] 存放地址printf("&a[1] = %p\n", &a[1]);  // 元素 a[0] 存放地址puts(" ");printf("地址 &b = %p\n", &b);        // 指针常量 b 的地址,也是 b 的值printf("  值 b = %p\n", b);          // b 的值为字符数组首元素的地址printf("b[0] = %c\n", b[0]);   // b[0] 是元素printf("地址 &b[0] = %p\n", &b[0]);  // b[0] 的地址,== b printf("&b[1] = %p\n", &b[1]);  // b[1] 的地址puts(" ");printf("字符串   %d\n", strlen(a));  // 字符串的长度printf("字符数组 %d\n", strlen(b));  // 字符数组的长度printf("指针的大小   %d\n", sizeof(a));  // 字符串的长度printf("数组的大小   %d\n", strlen(a));  // 字符串的长度puts(" ");system("pause");return 0;
}

结论

  1. 字符数组和字符串不是一样的
  2. 字符串与字符数组的 a,b 的值,都是首元素的地址
  3. &a 是指针本身所在的地址,&b 是数组 b 的地址(也是 b 的值,也是收元素的地址)
  4. b == &b == &b[0]; a == &a[0] != &a

C语言字符串、字符数组相关推荐

  1. C语言字符型数组ppt,C语言第13讲指针与字符串(字符数组).ppt

    C语言第13讲指针与字符串(字符数组).ppt 6.2.3 指针与字符串(字符数组) C语言用字符数组存放字符串. 字符数组元素个数确定,一般用下标控制循环. 字符串有效字符个数由0确定,用结束符0控 ...

  2. C语言中字符数组的初始化与赋值,字符串相关函数

    C语言中字符数组的初始化与赋值,字符串相关函数! 1.字符数组初始化 在C语言中,字符串是当做字符数组来处理的:所以字符串有两种声明方式,一种是字符数组,一种是字符指针. (1)直接逐个初始化字符数组 ...

  3. C语言的字符数组(字符串)的定义与初始化

    1.字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ','h','a','p','p','y ...

  4. C语言,字符数组与字符串

    文章目录 字符数组基本介绍 字符串注意事项 字符串的访问和遍历 字符串的表示形式 用字符数组存放一个字符串: 用字符数组存放一个字符串, 用字符指针指向一个字符串 使用字符指针变量和字符数组两种方法表 ...

  5. C语言关于字符数组接受字符串解析

    C语言关于字符数组接收字符串解析 前言:在一道算法题中遇到了一个让我很诧异的问题,strlen为什么得不到正确的长度.答案是我对字符数组进行的是赋值操作,不会自动补'/0'. 本文从三个角度分析问题, ...

  6. C语言中字符数组的初始化与注意事项

    在C语言中字符数组的初始化有三种常见的方法: char a[5] = {'a','b','c','d','e'};char c[] = {'a','b','c','d','e'};char b[] = ...

  7. c语言 字符串字符反向储存_C ++中的反向字符串

    c语言 字符串字符反向储存 In many situations, we may need to reverse a string in C++ programming. It may include ...

  8. 字符串字符数组和基本类型的相互转换

    1.基本类型转为字符数组或字符串 ❶整形转为字符数组: char *itoa(int value, char *string, int radix); value 将要被转换的值.string 转换的 ...

  9. JAVA关于字符串字符数组处理的小题目

    JAVA关于字符串&&字符数组的小题目 第二题:分析以下需求,并用代码实现 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: ...

  10. C++ 复制字符串/字符数组

     题目 [项目1-小心地放开玩字符串/字符数组] (2)读程序,请分析其实现的功能 [cpp] view plaincopyprint? #include<iostream> usin ...

最新文章

  1. 金山网盾漏洞已第一时间修复、用户无风险
  2. linux中sh基本语法
  3. 如何利用线框图展示初期产品
  4. CNN tflearn处理mnist图像识别代码解说——conv_2d参数解释,整个网络的训练,主要就是为了学那个卷积核啊。...
  5. JS滚动条位置,顶部,底部,触发事件
  6. 专业修改数据库服务器,专业修改数据库服务器
  7. 经纬度两点距离计算器_基于位置的服务之Redis Geo地理空间距离计算
  8. 使用VS2015编译OpenJDK8
  9. SpringBoot微信点餐系统—1、数据库设计
  10. UDS/OBD DTC(诊断故障码)格式解析
  11. 电视信号服务器,基于Web服务器远程控制数字电视信号节目源再利用系统
  12. lcx端口转发linux_LCX 端口重定向本质以及在linux下的实现
  13. Oracle function语法
  14. 幻灯片转换html动画,html5 css3仿ppt幻灯片播放动画效果
  15. centos7时间校准
  16. 银河帝国----基地
  17. 前端导出Excel表格
  18. python生成桌面路径(winreg)
  19. 解决电脑搜不到WiFi6无线路由信号问题
  20. 计算机网络安全作文,网络安全小学生300字作文

热门文章

  1. django-模型类管理器
  2. 支付宝支付同步回调url中携带参数的两种方法
  3. 智能合约从入门到精通:Solidity Assembly
  4. linux 基础学习之目录与文件处理命令
  5. [iOS]利用Appicon and Launchimage Maker生成并配置iOSApp的图标和启动页
  6. 服务器磁盘扩展容量操作流程
  7. 搭建PC架构的ISCSI存储系统
  8. 上海市职业介绍中心长宁分中心武夷路513-517号(021)62400032-229
  9. SQL优化一例:GROUP BY的语句
  10. 创建NGINX Plus和NGINX配置文件