C
文章平均质量分 75
酒鬼猿
我是fw
展开
-
C语言结构体详解
C语言结构体原创 2024-07-23 12:34:40 · 767 阅读 · 0 评论 -
数据的存储
1.1数据类型关键字C语言数据类型关键字 最初关键字 C90标准添加的关键字 C99标准添加的关键字 int signed _Bool long void _Complex short _Imaginary unsigned char float 在C语言中用 int 关键字表示基本的整数类型,(long、short、和unsigned)和C90新增..原创 2022-04-15 22:43:30 · 1711 阅读 · 0 评论 -
动态内存管理
一、动态内存分配我们已经掌握的内存开辟方式有:int val = 20;//在栈空间上开辟四个字节char arr[10] = {0};//在栈空间上开辟10个字节的连续空间但是上述的开辟空间的方式有两个特点:1. 空间开辟大小是固定的。2. 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道, 那数组的编译时开辟空间的方式就不能满足了。 这时候就只能试试动态存开辟了。.原创 2022-04-18 22:43:36 · 408 阅读 · 0 评论 -
初识指针看这里
1.变量放在哪里?定义一个变量,实际上就是向计算机申请一块内存来存放。那么变量到底存放到哪里了呢?可以通过&运算符取得变量的实际地址,这个值就是变量内存块所占的起始地址。(PS:实际上这个是虚拟地址,并不是真正的物理内存上的地址)我们可以把这个地址打印出来int a = 0;printf("%p ", &a);0x006BF8982.指针本质上面说,我们可以通过&符号获取变量的内存地址,那获取之后如何表示这是一个地址,而不是一个普通的值呢?..原创 2022-03-31 22:19:32 · 253 阅读 · 0 评论 -
初识指针篇
上篇博客已经介绍过指针是什么,这篇简单讲解一下指针的基本运输和指针数组目录1、指针的基本运算1)指针+-整数指针的关系运算指针相减2、二级指针3、字符指针4、指针数组1、指针的基本运算我们已经知道了指针类型决定指针允许访问空间的大小1)指针+-整数int main(){ int n = 10; char* pc = (char*)&n; int* pi = &n; printf("%p\n", &n); pri.原创 2022-04-04 22:57:34 · 797 阅读 · 2 评论 -
指针进阶篇(下)
目录一、函数指针0X01 函数指针概念0X02 函数指针的定义方式0X03 函数指针的使用二、函数指针数组0X01函数指针数组的概念0X02函数指针数组的定义0X03函数指针数组的使用三、指向函数指针数组的指针0X01 函数指针数组指针的定义0X02 函数指针数组指针的使用一、函数指针0X01 函数指针概念函数中指针:指向函数的指针,存放函数地址的指针函数的地址是什么呢?int Add(int x,int y){}in...原创 2022-04-10 18:17:34 · 352 阅读 · 0 评论 -
指针进阶篇(上)
一、指针和数组 为了区分开数组指针和指针数组,所以指针数组,放在初识指针篇。1、数组指针指针数组:int* p1[10];数组指针:int(*p1)[10];如何理解数组指针?* 现和p1 结合,可以判断p1是个指针,这个指针指向什么呢?向外看到一个[10],所以是指向一个有10个元素的数组,所以是一个数组指针,且指向的数组元素是int型2、数组名 和 &数组名int main(){ int arr[10] = {0}; //数组名是首...原创 2022-04-09 22:54:28 · 469 阅读 · 0 评论 -
C语言中的Static关键字的作用
目录1、修饰局部变量2、修饰全局变量3、修饰函数小结1、修饰局部变量当static用于修饰局部变量时,通常在某个函数体内,只能在此函数内调用。void test(){ int i = 0; i++; printf("%d ", i);}int main(){ int i = 0; for (i = 0; i < 10; i++) { test(); } return 0;}打.原创 2022-04-03 21:41:59 · 13805 阅读 · 3 评论 -
模拟strlen函数
1.计数器的方法实现size_t my_strlen(const char* str){ int count = 0; assert(str != NULL); while (*str != '\0') { count++; str++; } return count;}int main(){ char arr[] = "abcdefg"; int len = my_strlen(arr); printf("%d", len); return 0;}.原创 2022-03-21 22:04:14 · 63 阅读 · 0 评论 -
输入一个整数,打印二进制数1的个数,负数用补码表示
题意:如果输入十进制数7;则输出打印37在内存中的二进制位为00000000 00000000 00000000 00000111其中1的个数为3;如果是-7,内存中的二进制数为:111111111 111111111 111111111 1111110011的个数为30;接下来展示代码第一种解法int main(){ int n = 0; int i = 0;//右移i位 int count = 0;//计算1的个数 scanf("%d", &n);//原创 2022-03-07 22:39:58 · 119 阅读 · 0 评论