字符数组,指针与数组,动态数组
来源:互联网 发布:四柱算命软件 编辑:程序博客网 时间:2024/05/22 08:06
一、字符数组
1、了解scanf和gets的区别
2、字符串处理函数
(1)、strlen(字符串):计算字符串长度,返回字符串的有效长度。
(2)、gets(字符数组):输入一行字符序列到字符数组,返回数组的首地址。
(3)、puts(字符串):将字符串输出到终端。
(4)、strcat(字符数组,字符串):将字符串连接到数组中的串后面,返回数组的首地址。
(5)、strcpy(字符数组,字符串):复制字符串到字符数组,返回字符数组的首地址。
(6)、strcmp(字符串1,字符串2):两个字符串比较,字符串1大的话返回正数值,字符串1小的话返回负数值,如相等返回整数0。
(7)、strlwr(字符串):将字符串大写字母转换为小写,返回该串的首地址。
(8)、strupr(字符串):将字符串小写字母转换为大写,返回该串的首地址。
二、指针与数组
1、理解指针运算
2、通过指针访问数组元素(p[i]与*(p+i)等价)
/*用指向字符串的指针变量处理两个字符串的合并*/
3、注意地址越界问题
/*地址越界问题*/
#include"stdio.h"
main()
{
char ps[]="Good!",*p=ps;
char pt[]="You are a student.";
printf("%s\n",ps);
for(p=ps;p<ps+10;p++)//这里地址越界
*p='M';
printf("%s\n",ps);//ps的字符串结束标志被破坏
scanf("%s",ps);// 输入字符串长度超过5则越界
printf("%s\n",ps);
}
这是一个地址越界的程序,注意平常一定要注意,防止出现地址越界。
4、字符数组、字符指针和字符串
/*用指向字符串的指针变量处理两个字符串的合并/
#include"stdio.h"
void main()
{
char a[80]="Hao are you.",*p=a;
char b[80]="I am fine,thank you.",*q=b;
printf("a b\n");
printf("%s %s\n",a,b);
while(*p)
p++;
while(*q)
*p++=*q++;
*p='\0';
p=a;
q=b;
printf("a b\n");
printf("%s %s\n",p,q);
}
5、指针数组
(1)、理解多维数组的地址
(2)、指向数组元素和指向分数组的指针变量
一维指针数组:
int i=1;int j=2;int k=2;int m=3;
int *p[4]={&i,&j,&k,&m};
定义指向整个一维数组的指针变量:
int(*p)[5];和int*p[5];
区别在于第一个是该指针变量指向的是整个数组,第二个表示数组元素为指向基类型的指针变量。
6、动态数组
(1)、分配内存空间函数malloc
(类型说明符*)malloc(unsigned int size);
(2)、分配内存空间函数calloc
(类型说明符*)calloc(n,size);
(3)、释放内存空间函数free
free(void*ptr);
- 字符数组,指针与数组,动态数组
- 字符数组与指针
- 字符数组与指针
- 指针与字符数组
- 指针、动态内存、字符数组与字符指针
- 指针与动态数组
- 字符数组与字符指针
- 字符数组与字符指针
- 字符指针与字符数组
- 字符数组与字符指针
- 字符数组与字符指针
- 字符数组与字符指针
- 字符指针与字符数组
- 字符数组与字符指针
- 字符数组与字符指针
- 字符数组与字符指针
- 字符数组与字符指针
- 字符数组与字符指针
- 【BestCoder】 HDOJ 5170 GTY's math problem
- pthread_cond_timedwait的使用及疑问
- JavaScript window.location对象
- 菜鸟的Linux学习笔记之命令find
- 【BestCoder】 HDOJ 5171 GTY's birthday gift
- 字符数组,指针与数组,动态数组
- LeetCode OJ 之 Maximal Rectangle (最大的矩形)
- LINQ 流程简介
- 自定义ViewFlipper 实现滚动效果
- Maven 报错: Failure to transfer classworlds:classworlds:pom:1.1-alpha-2 from
- OpenCV Using Python——RGB颜色空间和YCbCr颜色空间的混合肤色检测
- Linux 内核学习(2)——内核配置与编译
- 新版本gem5 + dramsim2平台搭建
- BZOJ 3876(支线剧情) 有下界费用流