字符串基本操作
来源:互联网 发布:图形图像设计软件 编辑:程序博客网 时间:2024/06/05 00:17
字符串:
1、C语言的字符串是以0结尾的字符串
2、C语言中没有字符串类型,而是通过字符数组,来模拟字符串
3、字符串的内存分配可以在 堆上、栈上、全局区(很重要)
#include "stdio.h"#include "stdlib.h"#include "string.h"//字符数组 初始化void main61(){ // 1 指定长度 char buf2[100] = {'a','b','c','d'}; // 1-1 char buf2[100] = {'a','b','c','d'};//如果初始化的个数大于分配内存的个数,编译报错 // 1-2 后面的buf2[4]--buf2[99]都是0 // 2 不指定长度,C编译器会自动求元素的个数 char buf1[] = {'a','b','c','d'}; //buf1是一个数组 不是一个以0结尾的字符串 char buf11[] = {'a','b','c','d','\0'}; //若要使buf1变成字符串,在末尾人工加上 '\0' 即可 printf("buf2:%s\n",buf2); printf("buf2[88]:%d\n",buf2[88]); printf("buf11:%s\n",buf11); printf("buf11[4]:%d\n",buf11[4]); //三种0的区别 printf("%d,%d,%d\n",'\0','0',0); //0,48,0 system("pause"); return;}//用字符串 来 初始化字符数组//strlen() 长度不包括0,仅指字符串的大小 //sizeof() 内存块的大小void main62(){ int size = 0; char buf3[]="abcd"; //buf3作为字符数组 应该是5个字节,因为字符串末尾还有'\0',也会存入buf3中 //作为字符串,应该是4个字节 int len = strlen(buf3); printf("buf3字符串的长度:%d\n",len); //4 //buf3作为数组,数组是一种数据类型,本质(固定大小的内存块的别名) size= sizeof(buf3); //sizeof--求字节数 printf("buf3数组所占用的内存空间的大小:%d\n",size); { char buf4[128] = "abcd"; printf("buf4[4]:%d\n",buf4[4]); } system("pause"); return;}//通过数组下标和指针void main(){ int i = 0; char *p = NULL; char buf5[128] = "abcdefg"; for( i=0 ; i<strlen(buf5) ; i++ ) { printf("%c ",buf5[i]); } printf("\n"); p = buf5; //“buf5代表数组的地址”这句话是错误的 // buf5代表的应该是数组首元素的地址 for( i=0; i<strlen(buf5); i++ ) { printf("%c ",*(p+i)); } printf("\n"); system("pause"); return;}
0 0
- Bash基本字符串操作
- 字符串基本操作
- perl 字符串基本操作
- 字符串基本操作
- 字符串的基本操作
- 字符串基本操作
- 字符串基本操作
- 字符串的基本操作
- 字符串的基本操作
- 字符串的基本操作
- 字符串基本操作
- 基本字符串操作函数
- 字符串的基本操作
- 基本的字符串操作
- 字符串基本操作
- 字符串基本操作
- 字符串基本操作2
- 字符串基本操作集锦
- POJ 3461
- HTML规范文档
- swiper的基础使用(二十八)
- SVN如何进行版本的还原
- 二叉树线索化以及线索化的先序、中序、后序遍历
- 字符串基本操作
- grep 命令文本搜索总结
- 关于android 图片加载优化
- caffe学习之博主收录
- 在只需要一个指定正确的参数的情况下如何防止传入其他干扰的参数
- android jockeyjs库对webview的封装
- Bootstrap关于IE678兼容方法
- 对象存储 文件上传功能
- JSF事件