
基础学习
文章平均质量分 76
妮妮妮妮没事吧
这个作者很懒,什么都没留下…
展开
-
动态内存管理
动态内存是什么?动态内存就是动态开辟的内存,相对于数组来说,数组开辟内存时要先定义大小,有时候我们用不了那么多空间就会浪费,并且我们需要的空间大小有时候只有在程序运行起来时才知道。而动态开辟的内存空间用多少开辟多少,方便而且不占内存。下面我们讲讲动态内存函数:malloc函数形式:void*malloc(size_t size)功能:该函数向内存申请一块连续可用的空间,并返回指向这块空间的指针(首地址)1.如果开辟成功,返回一个开辟空间的指针2.如果开辟失败,返回一个NULL指原创 2022-03-29 17:54:47 · 533 阅读 · 0 评论 -
c语言讲解------内存函数
了解了字符串函数后我们了解在内存中操作的函数,就叫内存函数。memcpy函数从source位置开始向后复制num个字节的数据到destination的内存位置形式:void*memcpy(void*destination,const void*source,size_t num)1.这个函数在遇到\0时不会停下来2.如果source和destination有任何的重叠,复制的结果都是未定义的下面我们来使用:#include<stdio.h>#include&l原创 2022-03-27 21:20:22 · 365 阅读 · 0 评论 -
字符串与内存函数
strlen函数:求字符串长度形式:size_t strlen(const char*str)1.strlen会在遍历到'\0‘结束,故字符数组或字符串中必须有\0或定义好字符数组的长度2.strlen返回的字符串或字符数组长度不包含\03.strlen返回的是无符号类型,所以不可以相减(相减后结果仍然是无符号的)下面我们自主实现一个mystrlen函数,共有三种实现方法:①计数器实现size_t mystrlen(const char*str){ assert(s原创 2022-03-22 12:45:21 · 160 阅读 · 0 评论 -
指针————sizeof/strlen中参数含义
这篇文章主要总结了一系列的sizeof和strlen常见的参数含义。一、数组int a[]={1,2,3,4};1.sizeof(a);//4*4=16bit2.sizeof(a+0);//4/8bit3.sizeof(*a);//4bit4.sizeof(a+1);//4bit5.sizeof(a[1]);//4bit6.sizeof(&a+1);//4/8bit7.sizeof(&a[0]);//4/8bit8.sizeof(&a[0]+1);//4/8原创 2022-03-16 21:05:06 · 2026 阅读 · 1 评论 -
qsort函数讲解
qsort函数的作用是将所有数据排序,那么它和普通的冒泡排序或者选择排序有什么区别呢?它不仅仅可以排序数组中的数字,还可以排序结构体。当然升序和降序它都支持,不过输入参数的顺序会有所不同,下面我们来详细讲解一下这个函数。首先,我们先看一下库函数中它的使用方法:可以看出qsort的返回值有三种情况:如果p1的值小于p2,那么返回<0;如果p1的值大于p2;那么返回>0;如果p1的值等于p2,那么返回=0。由此可见,如果我们想排序成升序的话,就按照p1,p2的顺序传值,如果我们想排序成降原创 2022-03-15 00:15:57 · 1077 阅读 · 0 评论 -
回调函数讲解
首先,回调函数的定义就是指通过函数指针调用的函数。之前我们讲过函数指针是指向函数的指针。其表示形式为:void(*)()那么我们通过一个简单的代码来实现回调函数:void test(){ printf("优快云\n");}void print(void(*p)()){ if(1) p();}int main(){ print(test); return 0;}这时,其中print(test)就是回调函数,他是通过取出test函原创 2022-03-13 20:04:50 · 539 阅读 · 0 评论 -
函数指针与函数指针数组讲解
函数指针函数指针指的就是指向函数的指针,表示形式为void (*)(),其中第一个括号中放的是指针变量,第二个括号放的是参数的类型和数目,如若某函数形参变量是int Add(int a,int b),那么就是int(*pf)(int,int),编译器定义int(pf)(int,int)的形式也同样成立。其中函数的地址传址加不加取地址符都是可以的,如int(*pf)(int,int)=Add; 或 int(*pf)(int,int)=&Add;那么我们如何应用呢,下面有两个简单的示例:原创 2022-03-13 18:50:34 · 1547 阅读 · 1 评论 -
c语言————-位操作符讲解
位操作符(只可作用于整数) 按位与& 二进制形式中两个都为1则为1 只要有一个0就为0 例:a=5 b=-3 a的补码: 00000000 00000000 00000000 00000101 b的补码计算:原码:10000000 00000000 00000000 00000011反码:11111111 11111111 11111111 11111100...原创 2022-03-09 10:39:06 · 566 阅读 · 0 评论 -
c语言————移位操作符讲解
移位操作符分类1.右移操作符:将一个数字的二进制的表示形式整体右移n个序列 例:00000000 00000000 00000000 00110010 右移两位序列: 00000000 00000000 0000000 001100102.左移操作符:将一个数字的二进制的表示形式整体左移n个序列 例:00000000 00000000 00000000 00110010 ...原创 2022-03-08 23:51:44 · 2105 阅读 · 0 评论