- 博客(37)
- 收藏
- 关注
原创 C语言----assert()断言函数
assert() 的用法很简单,我们只要传入一个表达式,它会计算这个表达式的结果:如果表达式的结果为“假”,assert() 会打印出断言失败的信息,并调用 abort() 函数终止程序的执行;如果表达式的结果为“真”,assert() 就什么也不做,程序继续往后执行。函数,用于在调试过程中捕捉程序错误。
2024-05-24 13:59:53 335
原创 C语言-----字符串函数
一 strlen() 函数strlen函数:计算的是字符串str的长度,从字符的首地址开始遍历,以 '\0' 为结束标志,然后将计算的长度返回,计算的长度并不包含'\0'。下面是库中的strlen()函数:size_t strlen (const char* str);# define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>int main(){ char arr1[]
2024-05-24 13:56:38 242
原创 C语言----问答题
vs2022 中执行int i=5;会请求操作系统为i分配存储空间,操作系统会在内存中寻找一块空闲空间,把该区域当做i来使用,后期对i的操作就是对该内存空间的操作。操作系统将分配给该程序的内存空间的使用权限收回,该程序就不能再使用这一块内存空间。3.详细说明系统是如何执行,int i=5;操作系统将某一块内存空间的使用权限分配给该程序。,释放内存不是把该内存中的内容清零。不初始化,则变量通常就是垃圾值。
2024-05-16 16:57:08 140
原创 C语言---结构体-----重点
/方式一int age;char sex;//方式二int age;char sex;} st2;//方式三structint age;char sex;} st3。
2024-05-13 16:59:35 250
原创 C语言---动态内存分配---重点,重点!!!
例子: int len =5, int a[len] //错误。①.数组长度必须事先确定,且只能是常整数,不能是变量。②.传统形式定义的数组,该数组的内存程序员无法手动释放。2.为什么需要动态分配内存。4.静态内存和动态内存的比较。5.跨函数使用内存的问题。3.动态内存分配的举例。
2024-05-11 16:42:55 105 1
原创 C语言---指针——重点,重点,重点!!!!
3. 如果一个指针变量指向某个普通变量,则 *指针变量 就完全等同于 普通变量。如果P是个指针变量,并且p存放了普通变量i的地址,则p指向了普通变量i。2. P不是i,i也不是P,修改p的值不影响i的值,修改i的值也不会影响P。1.p是变量的名字,int*表示p变量存放的是int类型变量的地址,3.所谓int*类型,实际就是存放int变量地址的类型。2.P是变量名字,p的数据类型是int*类型。1. p保存了i的地址,因此P指向i。*p 就完全等同于 i。
2024-05-10 16:08:59 237
原创 C语言----函数----重点,重点,重点!!!!!!
函数返回值的类型也称为函数的类型,因为函数名称前的返回值类型和函数执行体中return 表达式,中表达式的类型不同的话,最终函数返回值的类型,以函数名前的返回值类型为准。总结:函数是一个工具,他是为了解决大量类似的问题设计的,函数可以当做一个黑匣子。函数定义的本质是详细描述函数能够实现某个特定功能的具体方法。函数的返回值 函数的名字(函数的形参列表)② 主函数可以调用普通函数,普通函数不能调用主函数。1>终止被调函数,向主调函数返回表达式的值。④ 主函数是程序的入口,也是程序的出口。
2024-05-10 09:13:49 235
原创 C语言---数组/多维数组
int a[3][4][5] 可以看做是该数组中有3个元素的一维数组,只不过每个元素都是4行5列的二维数组。int a[3][4], 总共是12个元素,可以当做3行4列看,n维数组可以当做每个元素是n-1维数组的一维数组组成。不完全初始化,未初始化的元素默认为0。不存在多维数组,因为内存是线性一维的。所有变量所占的字节大小必须相等。不初始化,所有元素是垃圾值。为n个变量连续分配储存空间。所有的变量数据类型必须相同。
2024-05-09 17:06:59 326 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人