![](https://img-blog.csdnimg.cn/968f7fc1476e447e9cb3bb07a261a2f3.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言
文章平均质量分 83
这里是以c语言为例,讲解一些编程新手入门的博客内容经验分享
黎鹤舞828
朝菌不知晦朔,蟪蛄不知春秋,人的眼界是自己身处的环境决定的
展开
-
定点数的移位运算(逻辑左移和算术左移)
解释了逻辑左移和算术左移的区别,总结了408考验中的移位操作。原创 2024-05-16 13:43:04 · 422 阅读 · 0 评论 -
结构体内存对齐
本文简要介绍了c/c++中内存对齐,总体来说和边界对齐类似,并对其使用的原因做出了简单的介绍原创 2024-03-25 12:48:21 · 877 阅读 · 0 评论 -
指针的内存大小
计算机中所以的信息都是以二进制的形式表示,即 0 和 1。1 个二进制位的数据传输是以“位”(bit)为单位。市面上我们经常能看到x86-64位操作系统,如我的电脑就是64位的操作系统。x84是inter在研发cpu的一种型号,我们把这种架构统称位x86架构,而后面的64位或者32位,是cpu中一次可以取出多少个二进制数(在1.1中我们了解到一个二进制数在计算机里就是一位,即1bite下图为我的电脑指针的内存大小就是变量的地址长度。在不同系统环境中其地址长度也不同,所以指。原创 2023-07-29 02:27:49 · 217 阅读 · 0 评论 -
二级指针代码练习题
在c语言的环境中判断下述代码生成内容:题目解析:通过图像把每个指针所指向的内容表示出来1.printf(“%s\n”, ++cpp)使cpp-> cp[1]的地址 ,对cpp解应用,得到cp[1]的数据 (这里得到是(c+2,即 c [2])的地址 ) 再对cp[1]解应用,得到输出结果"POINT"*printf(“%s\n”, – * ++cpp + 3); 先运算*(++cpp),就是cpp指向指向地址再进行++,然后解应用,得到的是 cp[2],即c[1] 的地址然后进行 *(原创 2023-10-02 16:53:15 · 70 阅读 · 2 评论 -
一维数组/二维数组的取地址和指针
对于一维数组: *p == *a;对于二维数组: *p!= *aa;原创 2023-09-17 20:49:52 · 1488 阅读 · 3 评论 -
C语言中char类型的数据范围陷阱
这恰好说明了为什么 for循环在 -128之后直接跳到了127,这是因为在char类型的二进制存储中,1000 0000 - 1之后是 0111 1111;所以数据类型的存取并不是按照数学意义上的从大到小,而是按照二进制的大小。在上面的测试中我们已经明白了char类型在计算机的存储过程中并不是按照数学意义上的从大到小的顺序进行存储,而是按照下图所示的方式进行存储。很多人可能会好奇,上述内容我提到默认的char类型的默认类型是signed (有符号数)类型。因为负数在计算机中是以补码的形式存储的。原创 2023-08-04 00:28:28 · 138 阅读 · 3 评论 -
C语言中‘\0’和EOF的区别
在C语言中没有严格的标准定义字符串,即在C语言中没有字符串这一变量类型。C语言中字符串的存储通常是以字符数组的形式来进行的。以字符串“hello world!”为例,其存储方式如下图所示:可以看到字符串就是开辟了一串连续的字符变量内存,按照一定的顺序进行存储,并且在字符串的末尾加上空字符’\0’‘’。scanf函数是有返回值的。一般来说,它的返回值是成功读取的元素个数。但当遭遇读取失败时,它的返回值便是 -1 (也就是它自己返回一个EOF)。原创 2023-09-02 19:58:03 · 548 阅读 · 2 评论 -
利用宏,实现将一个整数的二进制位的奇数位和偶数位交换
define 机制包括了一个规定:允许把参数替换到文本当中:这种实现通常称为宏宏定义的声明方式:其中 parament 是一个由逗号隔开的符号表,可能出现在buff中参数列表的左括号必须与#define 相连,不然会被视为stuff的一部分int a = 10;int b = 20;int a = 10;int b = 20;int a = 10;int b = 20;int b = 20;原创 2023-10-14 19:04:40 · 54 阅读 · 1 评论 -
c语言strlen函数的模拟实现
函数返回字符串str 的长度( 即空值结束符之前字符数目)。这里的空值结束符号就是‘\0’在c语言中,字符串的末尾通常会自动添加‘\0’作为结束标志eg:如果是char str[] = {‘a’,‘b’,‘c’,‘d’,‘e’};则不会添加 ‘\0’因为是单个字符 组成的数组,而非字符串(字符数组)int main()输出结果如下图所示:比的结果多一这是因为strlen()函数不统计’\0’,而sizeof统计’\0’(因为统计的是整个数组的大小)原创 2023-10-04 01:05:46 · 54 阅读 · 2 评论 -
c语言习题之类型转换
sizeof( i ) 求得的应该是 i 的字节数 应该是4 呀,难不成是sizeof( i )出了问题?一个是有符号数整形 signed int,但是我们通常习惯把signed 省略,剩下就是我们常见的 int 类型数据。int 类型中 -1的补码是 11111111 11111111 11111111 11111110,转化成unsiged int 类型的数据,是一个非常大的数字,所以打印 >。int 类型的第一位二进制存储的是负数,所以他的数据范围是-2^31 ~ 2^31 -1。原创 2023-09-17 17:21:35 · 105 阅读 · 1 评论 -
C语言通讯录功能的实现
建议的c语言通讯录功能原创 2023-09-26 22:04:12 · 97 阅读 · 0 评论 -
C语言中函数return单一返回值
c语言中return语句的功能只有两个1.结束函数2.待会返回值,并且返回值有且只有一个。原创 2023-07-27 15:53:25 · 863 阅读 · 1 评论 -
gitee(码云)中git did not exit cleanly问题的解决
gitee(码云)中git did not exit cleanly问题的解决原创 2023-07-27 03:07:22 · 922 阅读 · 2 评论 -
C语言随机数的生成
c语言生成随机数原创 2023-10-31 16:55:54 · 1105 阅读 · 1 评论