
c语言学习之旅
半夏丶ExAg3r
岂能尽如人意。
展开
-
C||const位置
const位置不同 所对应的指针含义不同一、常量const int a = 0;二、指针1、指针指向地址中存储的值不能改变int a = 0;const int b = 2;const int *q;q = &a; //非const赋值给const*q = 5; //报错,不能对指针指向地址存储的值进行修改p = &b; //非const指针地址赋值2、指针指向的地址不能改变,值可改变int a = 1;const int b = 0;int * const原创 2020-12-01 17:46:02 · 231 阅读 · 0 评论 -
C||实现strlen 函数的递归和非递归写法
include<stdio.h>include<stdlib.h>int my_strlen(char *arr){ if (*arr == '\0') { return 0; } else { return 1 + my_strlen(arr + 1); }}int main(){ char arr[] = "abcde"; int l...原创 2019-05-11 22:33:53 · 169 阅读 · 0 评论 -
C||C语言操作符总结
操作符的分类1.算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下标引用、函数调用和结构成员 算术操作符1. 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。 2. 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。 3. % 操作符的两个操作数必须为整数。返回的是整除之后的余数。 ...原创 2019-05-23 17:21:13 · 143 阅读 · 0 评论 -
C||C语言三子棋
include<stdio.h>include<stdlib.h>#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>#define ROW 3#define COL 3void DisplayBoard(cha...原创 2019-05-12 00:18:08 · 218 阅读 · 0 评论 -
C||malloc calloc realloc区分
malloc calloc realloc区分相同点:1.都是C标准库提供动态内存申请的库函数2.返回值类型都是void* ,因此在使用的时候必须强转3.申请空间成功,返回空间的首地址,失败返回NULL,因此在使用时必须进行判空4.申请的空间都在堆上,使用完成后必须要使用free进行释放,否则会存在内存泄漏不同:malloc:参数申请空间大小的字节数,直接将空间申请成功返回给用户calloc:有两个参数1表示元素个数 2表示元素类型将申请好的空间全部初始化为0realloc:将ptr所指原创 2020-10-22 15:54:14 · 98 阅读 · 0 评论 -
C||冒泡排序算法及其优化
冒泡排序分为两步第一步是进行趟的遍历第二步就是趟内的比较优化呢,怎么说呢,没优化的代码如果给定一个有序列的数组,还是会进行遍历,浪费了时间,优化后的代码 如果判断有序,则就不会继续循环话不多说,上代码!#include<stdio.h>#include<stdlib.h>void Swap(int *a, int *b){ int tmp = *a; *...原创 2019-11-11 22:04:31 · 142 阅读 · 0 评论 -
C||练习题
#include<stdio.h>void sort_tmp(int* arr, int sz)//交换{ int left = 0; int right = sz - 1; int tmp = 0; while (left < right) { while ((arr[left] & 1) == 1)//判断奇数 { left++; }...原创 2019-08-22 16:35:14 · 208 阅读 · 0 评论