C
C语言学习
little train
这个作者很懒,什么都没留下…
展开
-
memcpy和memmove的区别
memcpy和memmove函数作用都是拷贝一定长度内存的内容,函数存在头文件string.h中,函数原型如下: //将src指向的内存内容的count长度内容拷贝到dst指向的内存中 void* memcpy(void* dst, const void* src, size_t count); void* memmove(void* dst, const void* src, size_t count); 两个函数作用一样,但是当拷贝内存发生重叠时,memmove能够保证拷贝结果的正确,memcpy原创 2021-01-21 10:38:01 · 234 阅读 · 0 评论 -
指针函数和函数指针介绍
一、指针函数 1、定义 指针函数就是返回指针的函数。其本质是一个函数,而该函数返回值是一个指针。 语法形式:返回值类型名 * 函数名 (函数参数) int* fun(int i, int j); 2、示例 #include <stdio.h> #include <assert.h> #include <string.h> char* myStrcpy(char *dest, const char *src) { assert(dest);原创 2021-01-15 16:49:34 · 2056 阅读 · 0 评论 -
数组指针和指针数组学习
一、数组指针 1、定义 数组指针是指向数组的指针。首先它是一个"指针",其次,数组修饰这个指针,表示这个指针存放一个数组的首地址,或者说这个指针指向一个数组的首地址。 语法形式:类型 (*指针变量名) [数组长度] int (*p)[5]; 2、运算 由于数组指针是一个指针,因此可以进行加减运算,指针的加可以指向数组的下一个元素,指针的减可以指向数组的上一个元素。 3、内存结构 4、应用 1) 指向一维数组 #include <stdio.h> int main().原创 2021-01-15 15:47:04 · 274 阅读 · 0 评论 -
C语言动态内存管理
C语言动态内存管理 程序开发过程中,很多情况是不能够预先知道需要多大的内存,此时内存就需要随用随获取。比如链表的插入,不确定大小数组的建立。C语言中动态内存获取的接口函数在<stdlib.h>头文件中,下面就来详细讲解下C语言中内存的动态获取。 1、malloc 函数原型: void *malloc(size_t size); //调用实际生产空间比期望的大 函数作用:malloc函数向内存申请一块连续的大小为size字节的可用空间,并返回指向这块空间的指针 函数返回值:开辟成功.原创 2021-01-13 16:29:24 · 131 阅读 · 1 评论 -
C语言关键字static详解
C语言关键字static作用详解: 1、隐藏 当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。 2、static修饰变量能够保持变量内容的持久,static变量的记忆功能和全局生存期 static变量存储在静态存储区,有静态局部变量和静态全局变量,在程序运行期间始终存在。 a) 静态局部变量 静态局部变量在函数内定义,但不像自动变量那样,在作用域范围就存在,退出作用域时就消失。静态局部变量始终存在着,也就是说它的生存期为整个源程序。虽然静态局部变量的生存期为整个源原创 2021-01-13 15:16:33 · 202 阅读 · 1 评论 -
C语言关键字const详解
C语言关键字const详解 一、const修饰普通变量 1、const int a = 10; const修饰了int,表示这段代码定义的变量,最后取的是int型且值为10,不可被后面的代码修改。 2、int const a = 10; const修饰了变量a,表示这段代码定义的变量,最后取的值是int型且为10,不可被后面的代码修改。 二、const修饰指针变量 1、const int* p1; const修饰int,表示指针指向的对象为常量,*p1所指向的对象值不能通过*p1来修改,但是可.原创 2021-01-13 14:44:18 · 615 阅读 · 0 评论