C语言之字符串

  1. 指针的数学运算:带类型

    指针的本质 是 整数

    整数的数学运算

    复制代码
    1+1 == 2 1+8==9
    4*4==16
    4W*4W==16W
    c 复制代码
    #include<stdio.h>
    int main()
    {
    	int* p = 16;
    	printf("p:%d\n",p); // 16
    	printf("p+1:%d\n",p+1); // 20
    	return 0;
    }

    注意 和 类型转换结合起来 会很麻烦 很有意思

  2. 字符串三种形式

    1. 字符串字面量
    2. 字符数组
    3. 字符指针 char* str;
c 复制代码
#include<stdio.h>
int main()
{
	char* p = "helloworld";
	printf("%p\n", "helloworld");
	printf("%p\n", p);
	return 0;
}


字符串字面量的返回值是字符串的首地址也就是一个字符指针

复制代码
%s: 从当前指针指向的第一个字符开始往后输出  直到遇到'\0'结束。
严格区分 定义数组时   数组名[元素个数]
			访问数组名   数组名[下标]
			数组名[下标] 是一种访问内存的方式
	
	数组名[下标]    等同于     *(数组名 + 下标)

例如:
	for (int i = 0; i < 16; i++)
		printf("%c", p[i]);
	printf("\n");
等同于
	for (int i = 0; i < 16; i++)
		printf("%c", *(p + i));
	printf("\n");

字符串字面量是常量:返回值是  在内存中的地址 首地址 指针
字符数组 :另外开一块内存段  存 里面的每一个字符
字符指针: 另外开四字节内存段 存放字符串的  指针 首地址
指针变量   指向字符串
  1. 字符串常用函数
    1. strlen获取字符个数
    2. strcpy字符串拷贝
    3. strcmp比较
    4. strcat拼接

和 scanf一样 都被认为是不安全的 注意SDL

多字节字符集 char

unicode字符集 wchar_t

相关推荐
开心-开心急了8 分钟前
关于Flutter与Qt for python 的一些技术、开源、商用等问题
开发语言·python·qt·flutter
友友马9 分钟前
『 QT 』按钮类控件属性解析
开发语言·数据库·qt
Evand J12 分钟前
【MATLAB例程】基于噪声协方差自适应的互补滤波器方法vs标准互补滤波,用于融合加速度计和陀螺仪数据,估计角度
开发语言·matlab
熊小猿18 分钟前
RabbitMQ死信交换机与延迟队列:原理、实现与最佳实践
开发语言·后端·ruby
2301_7951672032 分钟前
玩转Rust高级应用 如何让让运算符支持自定义类型,通过运算符重载的方式是针对自定义类型吗?
开发语言·后端·算法·安全·rust
laocooon52385788636 分钟前
C语言 有关指针,都要学哪些内容
c语言·数据结构·算法
梦想平凡1 小时前
情怀源代码工程实践(加长版 1/3):确定性内核、事件回放与最小可运行骨架
开发语言·javascript·ecmascript
笑我归无处1 小时前
强引用、软引用、弱引用、虚引用详解
java·开发语言·jvm
02苏_1 小时前
秋招Java面
java·开发语言