当前位置: 首页 > news >正文

c语言常见错误

1 :大小端 问题

假设寄存器里存的是 0x12345678(32 位):

内存地址小端存储大端存储
addr+00x780x12
addr+10x560x34
addr+20x340x56
addr+30x120x78

2 :地址赋值 的注意点

1:设置地址代码
在不同编译器可能有问题,例如下面的代码,u64 add2 不一定被初始化成为0了

#include <stdio.h>typedef unsigned long long u64;typedef struct
{u64 add : 40;u64 resv1 : 24;
} INFO;int main()
{INFO info = {0};info.add = 123;u64 add = info.add;printf("add = %llu\n", add);info.resv1 = 45;u64 add2 = info.add;printf("add2 = %llu\n", add2);return 0;
}

在这里插入图片描述

3. qsort 函数的使用

a-b 是升序

#include <stdio.h>
#include <stdlib.h>int cmp_int(const void *a, const void *b) {return (*(int *)a - *(int *)b); // 升序
}int main() {int arr[] = {42, 7, 19, 73, 2};int n = sizeof(arr) / sizeof(arr[0]);qsort(arr, n, sizeof(int), cmp_int);for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}return 0;
}
http://www.dtcms.com/a/324264.html

相关文章:

  • MySQL 处理重复数据详细说明
  • ADK(Agent Development Kit)【2】调用流程详解
  • 智慧交通-道路积雪识别分割数据集labelme格式1985张2类别
  • python Flask简单图书管理 API
  • 【Linux知识】Linux grep 命令全面使用指南
  • 祝融号无线电工作频段
  • C++入门自学Day8-- 初识Vector
  • leetcode2379:得到K个黑块的最少涂色次数(定长滑动窗口)
  • 2.变量和常量
  • Go 工具链环境变量实战:从“command not found”到工具全局可用的全流程复盘
  • 【数据结构入门】栈和队列的OJ题
  • 二维前缀和问题
  • MySQL面试题及详细答案 155道(041-060)
  • 构建第三方软件仓库
  • 数据类型取值范围
  • String AOP、事务、缓存
  • 【18】OpenCV C++实战篇——【项目实战】OpenCV C++ 精准定位“十字刻度尺”中心坐标,过滤图片中的干扰,精准获取十字交点坐标
  • 力扣559:N叉树的最大深度
  • XGBoost算法在机器学习中的实现
  • C语言:指针(2)
  • Gin vs Beego vs Echo:三大主流 Go Web 框架深度对比
  • 前端开发中的常见问题与实战解决方案​
  • JS数组排序算法
  • scanpy单细胞转录组python教程(三):单样本数据分析之数据标准化、特征选择、细胞周期计算、回归等
  • 2025.8.10总结
  • 学生成绩管理系统的 SQL 表设计与多表查询实战
  • 部署一个免费开源的博客系统
  • 库的制作和原理
  • 双亲委派机制是什么?
  • 大模型工具集成四层架构:识别、协议、执行与实现