[C/C++]C语言-踩坑记录
很久没写C语言的代码,发现很多小细节,记下来备查。
0. C语言常规头文件
#include <stdlib.h>
#include <stdio.h>
1. 二维数组的开辟和释放-malloc()&free()
double ** a; //a[m][n]
a = (double **) malloc (sizeof(double *) *m);
for (int i = 0; i < m; i ++)
a[i] = (double *) malloc (sizeof(double) *n);
for (int i = 0; i < m; i ++){
free(a[i]);
}
free(a);
2. 结构体指针
参考这篇文章:https://blog.csdn.net/qq_41936805/article/details/87542219
在读的时候用->
还是.
要特别注意。
struct{
int x, y;
}point;
point *p = {1, 2};
int xx;
xx = p->x;
xx = (*p).x;
3. C语言生成随机数
一般情况:
a = rand();
限定范围:
设范围区间为(max,min),那么只需rand%(max-min+1)+min
即可
a = rand()% 50 + 1;
//生成(1,50)的随机整数
生成连续随机数
srand((unsigned)time(0);
a = rand();
在短时间内连续生成随机数
如果程序的运行时间很短,在毫秒内,此时time(0)
不能作为有区分度的“种子”。此时要再加入一层随机:
srand((unsigned)time(0) + (unsigned)rand());
a = rand();
参考这篇笔记:https://www.cnblogs.com/dosu/p/12468150.html
4. 使用Dev-C++编译C语言的一些奇怪报错
[Error]: request for member ‘xxx’ in something not a structure or union.
由于结构体指针引用错误,如果它是地址,就在它后边用->
,如果它不是地址,就在它后边就用.
。
与以上2. 结构体指针
类似,不过这个问题主要发生在调用函数传入结构体指针参数(&point)
时。
还可以参考这篇笔记:https://www.cnblogs.com/annie-fun/p/6369872.html
[Error] 'for' loop initial declarations are only allowed in C99 or C11 mode
在for循环里声明变量只允许在C99或C11模式, 需要在工具(Tools)/编译选项(complier option)/代码生成下的语言标准选择C99
参考这篇笔记:https://blog.csdn.net/qq_38316655/article/details/82830565
[C/C++]C语言-踩坑记录的更多相关文章
- google nmt 实验踩坑记录
最近因为要做一个title压缩的任务,所以调研了一些text summary的方法. text summary 一般分为抽取式和生成式两种.前者一般是从原始的文本中抽取出重要的word o ...
- unionId突然不能获取的踩坑记录
昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://m ...
- CentOS7.4安装MySQL踩坑记录
CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...
- ubuntu 下安装docker 踩坑记录
ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...
- SpringBoot + Shiro + shiro.ini 的踩坑记录
0.写在前面的话 好久没写博客了,诶,好多时候偷懒直接就抓网上的资料丢笔记里了,也就没有自己提炼,偷懒偷懒.然后最近参加了一个网络课程,要交作业的那种,为了能方便看下其他同学的作业,就写了个爬虫把作业 ...
- 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密
你真的了解字典(Dictionary)吗? 从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...
- ABP框架踩坑记录
ABP框架踩坑记录 ASP.NET Boilerplate是一个专用于现代Web应用程序的通用应用程序框架. 它使用了你已经熟悉的工具,并根据它们实现最佳实践. 文章目录 使用MySQL 配置User ...
- SpringBoot+SpringSecurity+Thymeleaf认证失败返回错误信息踩坑记录
Spring boot +Spring Security + Thymeleaf认证失败返回错误信息踩坑记录 步入8102年,现在企业开发追求快速,Springboot以多种优秀特性引领潮流,在众多使 ...
- IDFA踩坑记录
IDFA踩坑记录: 1.iOS10.0 以下,即使打开“限制广告跟踪”,依然可以读取idfa: 2.打开“限制广告跟踪”,然后再关闭“限制广告跟踪”,idfa会改变: 3.越狱机器安装开发证书打的包, ...
随机推荐
- 跨平台(32bit和64bit)的 printf 格式符 %lld 输出64位的解决方式
问题描述 在 C/C++ 开发中,使用 printf 打印 64 位变量比较常用,通常在 32 位系统中使用 %lld 输出 64 位的变量,而在 64 位系统中则使用 %ld: 如果在 32 位系统 ...
- Java开发学习(十二)----基于注解开发依赖注入
Spring为了使用注解简化开发,并没有提供构造函数注入.setter注入对应的注解,只提供了自动装配的注解实现. 1.环境准备 首先准备环境: 创建一个Maven项目 pom.xml添加Spring ...
- Pytorch分布式训练
用单机单卡训练模型的时代已经过去,单机多卡已经成为主流配置.如何最大化发挥多卡的作用呢?本文介绍Pytorch中的DistributedDataParallel方法. 1. DataParallel ...
- ORM框架介绍——什么是ORM框架?
1.什么是ORM?对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.ORM框架是连接数据库的桥梁,只要提供 ...
- Hippo4J v1.3.1 发布,增加 Netty 监控上报、SpringCloud Hystrix 线程池监控等特性
文章首发在公众号(龙台的技术笔记),之后同步到博客园和个人网站:xiaomage.info Hippo4J v1.3.1 正式发布,本次发布增加了 Netty 上传动态线程池监控数据.适配 Hystr ...
- Educational Codeforces Round 132 (C,D) 题解 cf#1709
昨晚打了这把EDU,赛后看了dalao们的C题代码豁然开朗恍然大悟 实在是太巧妙了 这场来说,D题的通过率比C题高太多了(估计很多人都在C题卡了然后没做D 先放题目链接 题目链接 C - Recove ...
- “杀死” App 上的疑难崩溃
在移动应用性能方面,崩溃带来的影响是最为严重的,程序崩了可以打断用户正在进行的操作体验,造成关键业务中断.用户留存率下降.品牌口碑变差.生命周期价值下降等影响.很多公司将崩溃率作为优先级最高的技术指标 ...
- nginx+redis+tomcat session绑定
需求: 公司后端两台tomcat做负载,前端nginx接收用户请求:为了使无论用户请求到后端哪台设备其session都能保持一致,需要做session绑定:所需软件: tomcat8.redis.ng ...
- 第十三天python3 生成器yield
生成器generator 生成器指的是生成器对象,可由生成器表达式得到,也可以使用yield关键字得到一个生成器函数,调用这个函数得到一个生成器对象: 生成器函数 函数体中包含yield语句的函数,返 ...
- HtmlAgilityPack中使用xpath获取属性值
HtmlAgilityPack介绍 HtmlAgilityPack是一个专门用来解析Html的库,它可以使用xml的方式来解析html. 有人说了,html本身不就是xml?是的,html就是xml, ...