1.在纯的.c文件中,例如struct Stu,之后不可以只使用Stu作为关键字来表示这个定义的结构体类型,一定要使用struct Stu一起作为类似int这种关键字来定义或者获取size.

2.函数之中存在互相调用,例如b调用a,那一定要把a定义在b前面不然会抱错。

3.void函数也是可以有return命令的,不过不返回任何值,只是return;,用来退出这个void函数,例如:

void Save()
{
FILE* pfw = fopen("data.lv", "a");
if (pfw == NULL)
{
printf("Save failed!");
return;
}
int i = 0;
while (Student[i].ID != 0)
{
if (Student[i].ID != -1)
{
fwrite(Student, 1, sizeof(struct Stu), pfw);
}
i++;
}
fclose(pfw);
}

  和文件命令的函数配合很好用

4.puts("");很方便 记住他自带/n功能

5.int a=b>c;

当b>c成立时a=1,否则a=0

6.if(int a)

只有当a等于零的时候if不执行,当a等于-1时if是成立的

7.fwrite写入和fread要读入的数据文件,用txt打开方式是看不懂是什么东西的,因为其保存方式为二进制格式

8..c文件中写完代码最后要空一行,因为在linux中\n代表结束符(在windows代表分隔符),如果文件的结尾没有\n 就不视为一个完整的文件,也不利于文件的拼接(两个文件拼接,第二个文件的第一行会拼接成和第一个文件最后一行在一起),另外最好也要在预编译命令和代码之间空一行,因为c文件运行包括编译(compile)和连接(link),空一行相当于插入一个\n,便于连接

9.无符号数和有符号数,所占内存空间一样大,但是能表示的数的范围不一样大,无符号数能表达的值的绝对值更大,因为他不能表示负数

10.本机内存中0x1234  12为高位  34为低位

11.不同的机器有不同的汇编语言,所以不同的平台,汇编不可移植。但是不同机器的c源码基本相同,所以c语言的移植性好。

12.Implicit declaration of function 'xxxx' is invalid in C99” 警告,该警告明确告诉我们在C99的规范中,不允许出现隐含声明的用法。这是C99规范中增加的规则,不过即便不遵守此规则,也仅仅是一个警告而已。
什么是隐含声明呢,也很简单,就是你调用函数的c文件中,没有正确包含对应的头文件。

13.if(*a==b)不行的话,换if(a==&b),其中a是函数中的指针类型的形参,不知道为什么

c需要注意的细节的更多相关文章

  1. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  2. vue2.0实践的一些细节

    最近用vue2.0做了个活动.做完了回头发现,好像并没有太多的技术难点,而自己好像又做了比较久...只能说效率有待提升啊...简单总结了一些比较细节的点. 1.对于一些已知肯定会有数据的模块,先用一个 ...

  3. 深入理解JS 执行细节

    javascript从定义到执行,JS引擎在实现层做了很多初始化工作,因此在学习JS引擎工作机制之前,我们需要引入几个相关的概念:执行环境栈.全局对象.执行环境.变量对象.活动对象.作用域和作用域链等 ...

  4. javaScript中的小细节-script标签中的预解析

    首先介绍预解析,虽然预解析字面意思很好理解,但是却是出坑出的最多的地方,也是bug经常会有的地方,利用好预解析的特性可以解决很多问题,并且提高代码的质量及数量,浏览器在解析代码前会把变量的声明和函数( ...

  5. 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节

    1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...

  6. Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)

    Android ScrollView监听滑动到顶部和底部,虽然网上很多资料都有说,但是不全,而且有些细节没说清楚 使用场景: 1. 做一些复杂动画的时候,需要动态判断当前的ScrollView是否滚动 ...

  7. [更新设计]跨平台物联网通讯框架ServerSuperIO 2.0 ,功能、BUG、细节说明,以及升级思考过程!

    注:ServerSuperIO 2.0 还没有提交到开源社区,在内部测试!!! 1. ServerSuperIO(SSIO)说明 SSIO是基于早期工业现场300波特率通讯传输应用场景发展.演化而来. ...

  8. Oracle Sales Cloud:管理沙盒(定制化)小细节2——使用对象触发器更新数字字段

    在上一篇 "管理沙盒(定制化)小细节1" 的随笔中,我们使用公式法在 "业务机会" 对象(单头)上建立了 "利润合计" 字段,并将它等于 & ...

  9. Oracle Sales Cloud:管理沙盒(定制化)小细节1——利用公式创建字段并显示在前端页面

    Oracle Sales Cloud(Oracle 销售云)是一套基于Oracle云端的CRM管理系统.由于 Oracle 销售云是基于 Oracle 云环境的,它与传统的管理系统相比,显著特点之一便 ...

  10. Oracle Sales Cloud:报告和分析(BIEE)小细节2——利用变量和过滤器传参(例如,根据提示展示不同部门的数据)

    在上一篇随笔中,我们建立了部门和子部门的双提示,并将部门和子部门做了关联.那么,本篇随笔我们重点介绍利用建好的双提示进行传参. 在操作之前,我们来看一个报告和分析的具体需求: [1] 两个有关联的提示 ...

随机推荐

  1. 当时钟事件声明为过程变量 让system.threading.timer时钟失效

    这个项目的小模块就是画label 控件到tablepayoutpanel表单 之中, 中间用到了时钟,事件(带返回值的),哈希表 .由于时钟定义在 form1的启动构造函数中导致了form1,启动完毕 ...

  2. js filter关键字

    filter filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素. 和map()类似,Array的filter()也接收一个函数.和map()不同的是,filter ...

  3. 日期控件 DatePicker 在ie8不能用

    过个年,日期控件DatePicker在ie8下突然不能用了,程序也没升级,很是奇怪. 把ie8的“禁用脚本调试”去掉,再次运行,发现提示有脚本错误. 想着可能是兼容性问题,于是把兼容性视图打开运行,还 ...

  4. BZOJ1977或洛谷4180 [BJWC2010]次小生成树

    一道LCA+生成树 BZOJ原题链接 洛谷原题链接 细节挺多,我调了半天..累炸.. 回到正题,我们先求出随便一棵最小生成树(设边权和为\(s\)),然后扫描剩下所有边,设扫到的边的两端点为\(x,y ...

  5. 转载(windows下安装mysql)

    转载请声明出处:http://blog.csdn.net/u013067166/article/details/49951577             最近重装了系统,去MySQL官网下载了最新的M ...

  6. Ubuntu12.04(64bit)下安装Qt4总结

    本文主要介绍linux系统Ubuntu12.04(64bit)下Qt4.8.5的安装,其中还涉及Fedora9下Qt4的安装. 1.下载软件:去Qt的官网下载Qt4.8.5和Qt Creator软件, ...

  7. Spring 属性注入(三)AbstractNestablePropertyAccessor

    Spring 属性注入(三)AbstractNestablePropertyAccessor Spring 系列目录(https://www.cnblogs.com/binarylei/p/10117 ...

  8. flask部署

    https://blog.csdn.net/zhuod/article/details/77850783

  9. Add to Array-Form of Integer LT989

    For a non-negative integer X, the array-form of X is an array of its digits in left to right order.  ...

  10. React中使用CSS

    第一种: 在组件中直接使用style 不需要组件从外部引入css文件,直接在组件中书写. import React, { Component } from "react"; con ...