#include<string.h>
//void my_strcpy(char* dest, char* src)
//{
// //这个代码不好
// while (*src != '\0')
// {
// *dest = *src;
// dest++;
// src++;
// }
// *dest = *src;
//}
//#include<assert.h>
const 阻止数据被修改
//void my_strcpy(char* dest, const char* src)
//{
// assert(src != NULL);//断言
// assert(dest != NULL);//断言
// while (*dest++ = *src++)
// {
// //即copy了\0,又使得循环停止
// //还能再优化
// ;
// }
// //while (*src != '\0')
// //{
// // *dest++ = *src++;
// //}
// //*dest = *src;
//}
//int main()
//{
// char arr[20] = "xxxxxxxxxxxxxx";
// char arr1[10] = "hello";
// my_strcpy(arr, arr1);
// printf("%s\n", arr);
// return 0;
//}
int main()
{
/*int num = 10;
int* p = #
*p = 20;*/
//const int num = 10;//const 修饰变量,这个变量就是常变量
//const int* p = #//const 修饰指针变量的时候,const放在*的左边,修饰的是*p,表示指针指向的内容,是不能通过指针来改变的
但是指针变量本身是可以修改的
///**p = 20;*/
//int n = 100;
//p = &n;
const int num = 10;//const 修饰变量,这个变量就是常变量
int* const p = #//const 修饰指针变量的时候,const放在*的右边,修饰的是指针变量p,表示指针变量不能被改变
//但是指针的内容可以被改变
*p = 20;
int n = 100;
/*p = &n;*/
printf("%d\n", num);
return 0;
}