![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
C语言相关
幼、稚%
这个作者很懒,什么都没留下…
展开
-
atoi,strncpy,strncat实现
atoiint MyAtoi(const char* str) { int flag = 1; // 辅助处理负数的情况 int ret = 0; // 保存最终结果 if (str == NULL || *str == '\0') { return 0; } // 1. 处理空白字符(空格, 换行, 回车, 制表符, 垂直制表符, 翻页符...) while (isspa...原创 2020-03-23 17:01:27 · 104 阅读 · 0 评论 -
strcmp、strstr、memcpy、memmove
strcmpint Strcmp(const char* str1, const char* str2) {//比较两个字符串你的大小,第一个大返回1,第二个大返回-1,相等返回0 assert(str1 != NULL && str2 != NULL); while (*str1 != '\0'&&*str2 != '\0') { if (*str1 &...原创 2020-03-13 21:59:42 · 104 阅读 · 0 评论 -
strlen、strcpy、strcat函数的自主实现
strlenint Strlen(const char* str) { int size = 0; while (*str != '\0') { size++; str++; } return size;}strcpychar* Strcpy(char* str1, const char* str) { //参数合法性校验 //assert 叫做 "断言" . () 的...原创 2020-03-13 21:06:54 · 94 阅读 · 0 评论 -
指针数组,相关问题
问题1 int a[5] = { 1, 2, 3, 4, 5 }; //// ptr 的指向应该是 5 后面的一个元素. //// &a 得到的是 int(*)[5] int* ptr = (int*)(&a + 1); //// 2 5 printf("%d,%d", *(a + 1), *(ptr - 1)); // ptr 已经在上面被强转成 int* 了问...原创 2020-03-09 17:43:49 · 248 阅读 · 0 评论 -
sizeof和strlen的各种情况
int arr[] = { 1, 2, 3, 4 };printf("%d\n", sizeof(arr)); // 16printf("%d\n", sizeof(arr + 0)); // 4 int* arr 已经隐式转成指针printf("%d\n", sizeof(*arr)); // 4 arr 已经隐式转成 int* 再解引用, 得到 intprintf("%d\n", si...原创 2020-03-08 21:50:41 · 106 阅读 · 0 评论