C语言 指针 字符指针(十)

举报
谦虚斯帕克 发表于 2022/03/22 21:29:40 2022/03/22
【摘要】 一.字符指针 1.指针的概念指针就是变量,用来存放地址,地址就是指针,指针就是地址;是地址唯一标识一块内存空间;指针的大小是固定的,4 / 8节(32位 / 64位); 2.字符指针 字符指针的概念字符指针:指向字符型数据的指针变量;常用 char* 来表示;//字符指针———>char* 字符串和字符的区别#include <stdio.h>int main(){ char* p =...

一.字符指针

1.指针的概念

  • 指针就是变量,用来存放地址,地址就是指针,指针就是地址;
  • 是地址唯一标识一块内存空间;
  • 指针的大小是固定的,4 / 8节(32位 / 64位);

2.字符指针

字符指针的概念

字符指针:指向字符型数据的指针变量;
常用 char* 来表示;

//字符指针———>char* 

字符串和字符的区别

#include <stdio.h>
int main()
{
  char* p = "abcdef";//后面字符串为常量字符串
  printf("%c\n",*p);//1
  printf("%s\n",p);//2
  return 0;
}
  • 注意
// %c 为浮点型,打印单个字符;
// %s 打印整个字符串;
// %f 为浮点型;
  • 输出结果为:
a;//首字符的地址为a,所以输出结果为a(1);
abcdef;//输出结果为整个字符串,所以输出结果为abcdef(2);

const的用法

  • 概念:所指向的内容无法改变;
  • 还是举上面的代码例子
#include <stdio.h>
int main()
{
  char* p = "abcdef";
  char* p = 'w';
  printf("%c",*p);
  return 0;
}
  • 这种写法是错误的,会导致程序崩溃;
  • 而如果使用 const
  • 那么程序就变成
#include <stdio.h>
int main()
{
  const char* p = "abcdef";
  *p = 'w';
  printf("%c\n",*p);
  return 0;
}
  • 这样* p 所指向的内容无法改变,结果依旧是a;
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。