C中的字符指针

简介: 字符指针就是存储字符串的指针,有上面代码可以看出字符指针存放的就是字符串的首地址 下面我们来看一关于字符指针的题

首先我们来看这段代码

1. #include<stdio.h>
2. int main()
3. {
4. //    char ch='w';
5. //    char* p=&ch;
6.     //本质上*ps是把hello bilt的首地址存储了
7.     char* ps="hello bit";//是常量字符串,是不能改变的,相同的常量的字符串,地址里只保存一份
8.     char arr[]="hello bit";
9.     printf("%s\n",ps);
10.     printf("%s\n",arr);
11.     return 0;
12. }

字符指针就是存储字符串的指针,有上面代码可以看出字符指针存放的就是字符串的首地址

下面我们来看一关于字符指针的题

1. #include<stdio.h>
2. int main()
3. {
4.     char a1[]="hello bit";
5.     char a2[]="hello bit";
6.     char *a3="hello bit";
7.     char *a4="hello bit";
8.     if(a1==a2)
9.     {
10.         printf("a12\n");
11.     }
12.     else
13.     {
14.         printf("-a12\n");
15.     }
16.     if(a3==a4)
17.     {
18.         printf("a34\n");
19.     }
20.     else
21.     {
22.         printf("-a34\n");
23.     }
24.     return 0;
25. }

就是判断a1是否和a2相等,a3和a4是否相等,数组a1,a2和保存的字符串是一模一样的,如果用if()去判断,其实是不相等,因为我们去判断两个字符串是否相等,可以用strcmp(,),但需要引用头文件#include<string.h>

if(strcmp(a1,a2)==0)

我们再来看a3和a4,首先我们知道是常量字符串,是不能改变的,相同的常量的字符串,地址里只保存一份,指针变量a3,a4保存的就是字符串的地址,a3,a4是相等的

F6F8060F-2F71-4C68-A213-FB35B494BFAE.jpeg

相关文章
|
6月前
|
存储 编译器 C语言
函数指针&&数组指针&&数组传参的本质&&字符指针(进阶篇)
函数指针&&数组指针&&数组传参的本质&&字符指针(进阶篇)
126 0
|
6月前
|
存储 C++
使用字符指针变量和字符数组的比较
使用字符指针变量和字符数组的比较
57 0
|
6月前
|
C语言
C语言----字符数组&&指针
C语言----字符数组&&指针
46 0
|
存储 编译器 C语言
C语言之字符指针
C语言之字符指针
|
6月前
|
存储 C语言
字符指针变量与字符数组的比较
字符指针变量与字符数组的比较
47 3
|
6月前
|
存储 C语言
字符指针作为函数参数
字符指针作为函数参数
59 2
|
6月前
DAY-2 | 哈希表、指针与区间划分:字符种数统计问题
```markdown ## 题干 [牛客网链接](https://www.nowcoder.com/practice/eb94f6a5b2ba49c6ac72d40b5ce95f50) ## 题解 1. **查表法(哈希表)**:利用数组标记出现过的 ASCII 值小于127的字符,首次出现计数,重复则忽略。 2. **指针与区间划分(回头法)**:遍历字符串,对每个字符检查其前所有字符是否重复,重复则不计数。 ## 方法总结 - 哈希表在去重问题中非常实用,可多做相关练习。 - 使用`continue`时注意避免死循环,确保循环变量会改变。 - 多回顾此类问题以巩固理解。 ```
44 2
|
6月前
|
存储 C语言
C语言中的字符指针技术详解
C语言中的字符指针技术详解
52 0
|
6月前
|
存储 人工智能
字符指针变量和字符数组注意事项(区别)
字符指针变量和字符数组注意事项(区别)
38 0
|
6月前
|
安全 C语言 C++
字符指针做函数参数
字符指针做函数参数
37 1