C/C++(字符串处理)字符指针、字符数组用法大总结

简介: 字符指针变量和字符数组都可以处理字符、字符串,但是两者却有着本质的区别。今天用到就把所有的总结一下,以供大家参考! 1、字符数组初始化及赋值 char c_a[] = {"songjinshi"};//正确 char c_a[] =...

字符指针变量和字符数组都可以处理字符、字符串,但是两者却有着本质的区别。今天用到就把所有的总结一下,以供大家参考!

1、字符数组初始化及赋值

char c_a[] = {"songjinshi"};//正确

char c_a[] = {'s','o'};//正确

char c_a[] = "songjinshi";//正确

char c_a[11];
c_a = "songjinshi";//错误,c_a是一个指针常量不能直接赋值
c_a++;//错误,c_a是一个指针常量


char c_a[11];
for(i=0;i<11;i++)
   scanf("%c",c_a+i);//正确

char c_a[11];
scanf("%s",c_a);//正确

char c_a[11];
strcpy(c_a,"songjinshi");//正确

2、字符指针初始化及赋值

char* c_p = "songjinshi";//正确

char* c_p = 0;//正确,指针变量值为0,字符串长度为0,即字符指针指向一个空字符串

char*c_p = "songjinshi";
c_p = "song";//正确,改变字符指针指向的字符串,即改变字符指针变量的值(地址)
c_p++;//正确,移动指针
printf("%s",c_p);//输出ongjinshi

char* c_p;
scanf("%s",c_p);//错误,c_p是一个字符指针但是没有指向有效的内存地址(空间)

char* c_p = "song";
*c_p = 'z';//错误,c_p指向的是常量数据区(常量数据表——静态存储区),不能更改里面的内容

char* c_p = "songjisnhi";
strcpy(c_p,"zhangdi");//错误,c_p指向常量数据区,无法更改

目录
相关文章
|
16天前
|
存储 安全 编译器
第二问:C++中const用法详解
`const` 是 C++ 中用于定义常量的关键字,主要作用是防止值被修改。它可以修饰变量、指针、函数参数、返回值、类成员等,确保数据的不可变性。`const` 的常见用法包括:
59 0
|
2月前
使用指针访问数组元素
【10月更文挑战第30天】使用指针访问数组元素。
39 3
|
2月前
|
存储 C++ 容器
【C++】map、set基本用法
本文介绍了C++ STL中的`map`和`set`两种关联容器。`map`用于存储键值对,每个键唯一;而`set`存储唯一元素,不包含值。两者均基于红黑树实现,支持高效的查找、插入和删除操作。文中详细列举了它们的构造方法、迭代器、容量检查、元素修改等常用接口,并简要对比了`map`与`set`的主要差异。此外,还介绍了允许重复元素的`multiset`和`multimap`。
35 3
【C++】map、set基本用法
|
2月前
|
存储 程序员 编译器
C 语言数组与指针的深度剖析与应用
在C语言中,数组与指针是核心概念,二者既独立又紧密相连。数组是在连续内存中存储相同类型数据的结构,而指针则存储内存地址,二者结合可在数据处理、函数传参等方面发挥巨大作用。掌握它们的特性和关系,对于优化程序性能、灵活处理数据结构至关重要。
|
2月前
|
存储 C语言 计算机视觉
在C语言中指针数组和数组指针在动态内存分配中的应用
在C语言中,指针数组和数组指针均可用于动态内存分配。指针数组是数组的每个元素都是指针,可用于指向多个动态分配的内存块;数组指针则指向一个数组,可动态分配和管理大型数据结构。两者结合使用,灵活高效地管理内存。
|
2月前
|
容器
在使用指针数组进行动态内存分配时,如何避免内存泄漏
在使用指针数组进行动态内存分配时,避免内存泄漏的关键在于确保每个分配的内存块都能被正确释放。具体做法包括:1. 分配后立即检查是否成功;2. 使用完成后及时释放内存;3. 避免重复释放同一内存地址;4. 尽量使用智能指针或容器类管理内存。
|
2月前
|
存储 NoSQL 编译器
C 语言中指针数组与数组指针的辨析与应用
在C语言中,指针数组和数组指针是两个容易混淆但用途不同的概念。指针数组是一个数组,其元素是指针类型;而数组指针是指向数组的指针。两者在声明、使用及内存布局上各有特点,正确理解它们有助于更高效地编程。
|
16天前
|
存储 程序员 C++
深入解析C++中的函数指针与`typedef`的妙用
本文深入解析了C++中的函数指针及其与`typedef`的结合使用。通过图示和代码示例,详细介绍了函数指针的基本概念、声明和使用方法,并展示了如何利用`typedef`简化复杂的函数指针声明,提升代码的可读性和可维护性。
50 0
|
16天前
|
C++
第十三问:C++中静态变量的用法有哪些?
本文介绍了 C++ 中静态变量和函数的用法及原理。静态变量包括函数内的静态局部变量和类中的静态成员变量,前者在函数调用间保持值,后者属于类而非对象。静态函数不能访问非静态成员,但可以通过类名直接调用。静态链接使变量或函数仅在定义文件内可见,避免命名冲突。
34 0
|
2月前
|
存储 人工智能 算法
数据结构实验之C 语言的函数数组指针结构体知识
本实验旨在复习C语言中的函数、数组、指针、结构体与共用体等核心概念,并通过具体编程任务加深理解。任务包括输出100以内所有素数、逆序排列一维数组、查找二维数组中的鞍点、利用指针输出二维数组元素,以及使用结构体和共用体处理教师与学生信息。每个任务不仅强化了基本语法的应用,还涉及到了算法逻辑的设计与优化。实验结果显示,学生能够有效掌握并运用这些知识完成指定任务。
60 4