首页 > 其他分享 >P32-P34指针3,4,5

P32-P34指针3,4,5

时间:2023-03-16 14:44:21浏览次数:50  
标签:src dest s2 char ++ while P32 P34 指针

代码区 代码
栈 参数,局部变量
全局变量 全局变量 可读,可写
常量区 常量区 可读,不可写

常量字符串的拷贝:

void Function()
{
char* x = "china";

char y[] = "china";

*(x+1) = 'A';

y[1] = 'A';

}

char* x = “china” 不拷贝 china为常量 x存储的为当前常量的地址 但char y[]="china"要几个就从常量区拷贝到堆栈里 *(x+1) = ‘A’失败

!!!!!!!!!!!!!
指针函数:就是一个函数 因为返回值是个*类型
!!!!!!!!!!!!!!!!!!!!
指针数组:实质就是一个数组,存的是带*的数组 即用指针表示的数组
遍历所有数据?

for(int i=0;i<5;i++)
{
printf("%c\n",*(arr[i]));
}

1、int strlen (char* s)
返回值是字符串s的长度。不包括结束符'/0'。

int strlen (char* s)
{
int len = 0;
while(*(s) != 0)
{
  len++;
  s++;
}
return len;
}


2、char* strcpy (char* dest, char* src);
复制字符串src到dest中。返回指针为dest的值。

char* strcpy (char* dest,char* src)
{
while((*(dest++)=*(src++))!=0); //while(*(dest++)=*(src++))
  return dest;
}
/*while(*src)
{
*dest = *src;
dest++;
src++;
}
*/


3、char* strcat (char* dest, char* src);
将字符串src添加到dest尾部。返回指针为dest的值。

char* strcat (char* dest, char* src)
{
while(*dest != '\0')
  dest++;
while((*dest++ = *src++)!='\0');
  return dest;
}

4、int strcmp ( char* s1, char* s2);
一样返回0 不一样返回1

int strcmp(char* s1, char* s2)
{
while(*s1 != '\0' && *s2 != '\0')
{
  if(*s1 != *s2)
    return 1;
  s1++;
  s2++;
}
if(*s1 == '\0' && *s2 == '\0')
  return 0;
else
  return 1;
}

 


标签:src,dest,s2,char,++,while,P32,P34,指针
From: https://www.cnblogs.com/cspecialr/p/17222516.html

相关文章

  • 智能指针
    智能指针指针注1管理的困境是什么资源释放了但是指针没有为空野指针:野指针是指指向未知内存地址的指针,也就是没有初始化或者已经被释放的指针。使用野指针会导致......
  • 11、指针和引用
    指针:是一个变量,存储一个变量的地址。引用:是变量的别名。1、初始化指针定义时不必初始化,引用必须初始化。指针初始化时可为NULL,引用不能初始化为NULL。inta=1......
  • 2816. 判断子序列(双指针模板题)
    https://www.acwing.com/problem/content/2818/双指针模板题:i指针只有匹配到相等才++,j指针无论如何每次都++那么i==n时,意味着b序列中存在着a序列,且有序离散存放#inclu......
  • Python+ESP32 收录集
    目录Python+ESP32收录集Python+ESP32收录集Python+ESP32快速上手(持续更新中)wifi蓝牙智能控制单片机手把手教你学ESP32--基于MicroPython......
  • 「双指针&前缀和&回溯法」weight
    本题为3月14日23上半学期集训每日一题中B题的题解题面题目描述已知原数列\(a_1,a_2,\cdots,a_n\)中的前1项,前2项,前3项,...,前n项的和,以及后1项,后2项,后3项,...,后n项......
  • 800. 数组元素的目标和(双指针,二分)
    https://www.acwing.com/problem/content/802/二分:枚举a,对于每一个a[i],都二分一下求x-a[i],是否在b数组中#include<iostream>usingnamespacestd;constintN=1......
  • c/c++指针从浅入深介绍——基于数据内存分配的理解(上)
    c/c++指针从浅入深介绍——基于数据内存分配的理解(上)本文是对自我学习的一个总结以及回顾,文章内容主要是针对代码中的数据在内存中的存储情况以及存储中数值的变化来......
  • C语言指针进阶(一)
    前言什么是指针?指针就是一个可以存储地址的变量。当我们将具体的某个对象的地址存放到某个指针变量当中时,我们可以说将某个对象的地址存放到某个指针当中,也可以说指向某个对......
  • 指针的运算
    1、指针关系运算比较两个指针(地址)的大小2、指针加减整数运算根据指针的类型,判断指针加减整数的步长。3、指针-指针的运算指针减去指针得到的是两个指针之间相差的元素个数!指......
  • CH582 CH592 CH573 PC指针打印(排查程序运行+死循环指示)
    代码调试如果需要程序死循环,又不晓得停在哪,可以通过打印PC指针进行定位,具体方法如下比如开启看门狗中断,开发方法参考CH573CH582CH579看门狗使用-debugdabiaoge-博......