C语言
qq_38489451
我是乱写的,你觉得能看懂就可以,看不懂大概是我没写好,计算机太繁杂,知识又深又厚。 library\lib=库 frame=框架 Linux内核精髓在硬件驱动
展开
-
单个字符赋值给字符指针的疑惑的问题
不能对指针直接赋值字符。字符会直接作为ASCII码值赋值给指针,从而指向ASCII对应的最低256字节地址(这些最低地址是无法访问的,最好不要访问)。指针的值的就是ASCII码的值。原创 2022-08-07 16:18:52 · 340 阅读 · 0 评论 -
C指针笔记
13.普通变量作为函数参数传递时,把实参的值传递给形参,也就是说形参值是实参值的拷贝,形参和实参虽然是同样的值,但存储在不同的内存空间中。而指针变量作为函数参数时,通过指针变量的值传递,是让形参指向实参变量指向的变量,通过指针变量的值传递后,形参变量和实参变量指向同一个变量。6.指针的算术加减运算是以指针的类型为基本单元,char指针+1就是加一个字节(char的长度1个字节)。利用指针传递值,指针是指向数据的地址,指针指向的对应地址中保存着指针(*运算后取值后)的数据。2.指针是存放地址的变量。...原创 2022-08-07 15:54:39 · 673 阅读 · 0 评论 -
高质量收藏夹
1.《跟我一起写Makefile》——作者:陈皓原创 2021-11-24 08:23:20 · 420 阅读 · 0 评论 -
C语言 函数指针数组
在数组中保存一组函数名,可以这样写:replies[] = {dump,second_chance,marriage};声明一个函数指针数组:void (*replies[])(response)={dump,second_chance,marriage};参考:嗨翻C语言原创 2021-11-06 21:35:09 · 253 阅读 · 0 评论 -
C语言中*运算符和&运算符
&运算符接收一个数据,然后告诉你这个数据保存在哪里;*运算符接收一个地址,然后告诉你这个地址中保存的是什么数据。因为指针有时也称为引用,所以*运算符也可以描述为对指针进行解引用。&是解地址,*是解引用。指针声明由:(指针指向地址的数据类型 * 指针名) 组成//声明变量并初始化int value = 1;//定义指针int * p;//以下是给指针赋值,应该也可以叫指针的初始化吧(狗头)//这段代码意思是:取value的地址赋值给指针p;p = &value;原创 2021-11-04 21:52:17 · 1184 阅读 · 0 评论 -
C语言union(联合:也称为共用体)
union结构是开辟一块空间,多种数据结构共用这一块空间。//union共用体例子如下:typedef union{ short count; float weight; float volume;}quantity;union共用体设置值的方式:1.C89方式//如果联合要保存第一个字段的值,就可以用C89表示法,只要用花括号把值括起来,就可以把值赋给联合中第一个字段。quantity q = {4};2.指定初始化器就是用{. 共用体参数}的方式//指定初始化器(desig原创 2021-11-03 22:03:16 · 892 阅读 · 0 评论 -
C语言中typedef关键字
typedef可以和结构体struct配合使用:作用为给struct结构体起个别名。//结构体名字是example_fruitstruct example_fruit{ const char *fruit_name; int price; float weight; struct color;};//typedef作用为给结构体起个别名,用法如下:typedef struct example_fruit{ const char *fruit_name; int price; floa原创 2021-10-30 20:37:19 · 85 阅读 · 0 评论 -
C程序命令行参数
| 是连接两个程序的管道,表示由左边的程序输入数据后由右边程序接收对应数据。这个命令行中的中文由具体的程序名和文件名替换这行命令表示将源数据输入程序1,程序1处理数据后将数据发送到程序2,程序2处理数据后输出结果到目标文件。(./程序1 | ./程序2) < 源数据 >目标数据...原创 2021-10-21 17:16:29 · 81 阅读 · 0 评论 -
C语言标准错误
一个进程有一个标准输入一个标准输入一个标准错误//以下函数等价,printf()函数是fprintf()函数的特例printf("我喜欢乌龟!");fprintf(stdout,"我喜欢乌龟!");原创 2021-10-21 14:40:36 · 331 阅读 · 0 评论 -
C语言中没有布尔类型的数据
在 C 语言标准(C89)没有定义布尔类型,所以 C 语言判断真假时以 0 为假,非 0 为真。//就是1为ture,0为falseint i=1;int j=0;https://www.runoob.com/note/34742原创 2021-09-23 16:53:37 · 145 阅读 · 0 评论 -
c语言中变量/函数命名
以单下划线(_)表明是标准库的变量双下划线(__) 开头表明是编译器的变量原创 2021-09-23 10:36:04 · 175 阅读 · 0 评论 -
C语言预处理器——标记粘贴运算符(##)
就是连接连个标记的运算符,abc和def两个标记连接成一个abcdef长的标记。#include <stdio.h>#define tokenpaster(n) printf ("token" #n " = %d\n", token##n)//这个就是定义一个函数hi(m),形参为m//函数体为输出语句输出的结果是abc连接形参m,所的到的新的值例如:abc234得到一个新的形参的名字,//这个功能暂时不知道有什么用,就是拼接字符组成新的新参。//完全是脱裤子放屁。#define原创 2021-09-17 15:49:01 · 1140 阅读 · 2 评论 -
C语言函数指针
函数指针——是一个指向函数的指针https://www.runoob.com/cprogramming/c-fun-pointer-callback.html#include <stdio.h>int max(int x, int y){ return x > y ? x : y;}int main(void){ /* p 是函数指针 */ //(*p)是一个整体 //(*p)左边是和函数同样类型的返回值类型int //(*p)右边原创 2021-09-13 15:24:59 · 147 阅读 · 0 评论 -
C语言指针声明
声明多种类型的指针变量,只能指向相同类型的值的地址。int类指针只能指向int类型数据,double指针只能指向double类型数据。指针就是指向内存地址的。//下面的两个写法都可以,都是一样的int *p;int* p;int *ptr;//指针的自增运算就是ptr++,ptr++;...原创 2021-09-06 09:05:04 · 1032 阅读 · 0 评论