如果有你认为重要的知识点,而我这却没有记录下来的,那么期待你分享给我(^U^)ノ~YO。

1.在结构体中,符号->的前面是指针变量,符号.的前面是普通变量.   程序中a->b等价于(*a).b。

2.枚举enum中第一个元素默认值为0,后面元素依次加一.若是中间元素有赋值的,那其后元素根据前值继续依次加一。

3.main()一般接受两个参数argc和argv,int main(int argc,char** argv)

  argc(argument count) 是指命令行输入参数的个数,argv(argument vector)存储所有的命令行参数。

  Linux中,若程序名为123,在命令行输入./123 A B C, 

那么argv[0]=="./123",        ——当前文件的路径

  argv[1]=="A",

  argv[2]=="B",

  argv[3]=="C"。

4.##和#

  #是将参数字符串化。

  ##是把两个参数连接在一起。

 #define paster(n) printf("token"#n"=%d\n", token##n)     //paster(9); 相当于 printf("token 9 = %d\n",token9); 

  其中#n被字符串"9"替换,一对双引号会被忽略,两个字符串等效于连接在一起的字符串, 比如 "abc" "def" 等效于 "abcdef"。

5._line_ 、_date_

6.运算符优先级

  优先级最高者其实并不是整整意义上的运算符,包括:数组下标、函数调用操作符各结构成员选择操作符。他们都是自左向右结合。

  单目运算符的优先级仅次于上述运算符,优先级比单目运算符要低的,接下来就是双目运算符。在双目运算符中,算数运算符的优先级最高,移位运算符次之,关系运算符再次之,接着是逻辑运算符,赋值运算符,最后是三目运算符。

  重要的两点:

    1.任何一个逻辑运算符的优先级低于任何一个关系运算符。

    2.移位运算符的优先级比算数运算符要低,但是比关系运算符要高。

  所有的按位运算符优先级要比顺序运算符的优先级高,每个“与”运算符要比相应的“或”运算符优先级高,而按位异或运算符的优先级介于按位与运算符和按位或运算符之间。

7.数组名是常量,不可以做自增或其他修改其值的操作,但可以与整数进行运算。

  例:int b,a[5]={1,2,3,4,5};

    b = *(a++);       //False

    b = *(a+1);  //True

8.宏定义只是做简单的文字替换,不会对要替换的内容做计算或任何改动。

  例:#define  N  3

    #define  Y(n)  ((N+1)*n)

    int s = 2*(N+Y(5+1));    //s的值为2*(3+(3+1)*5+1)=48

9.printf()输出格式

10.extern关键字

  存储类型extern只对数据声明有意义。对于函数声明,他可以作为一种格式上的提示,实际中可有可无。(《你必须知道的495个C语言问题》-1.11)

11.复杂的声明

  类似于char *(*(a[])())(),看着让人头晕。www.cdecl.org的cdecl程序可以用于解释复杂的声明,可以在英文描述和C语言源码之间互相翻译。

11.void关键字

  如果函数的参数可以是任意类型的指针,那么应声明其参数为void *

  典型的如内存操作函数memcpy和memset的函数原型分别为:
    void * memcpy(void *dest, const void *src, size_t len);
    void * memset ( void * buffer, int c, size_t num );

未完待续...

c/c++基础的更多相关文章

  1. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  2. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  5. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  6. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  7. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  8. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

  9. .NET基础拾遗(5)多线程开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

  10. .NET 基础 一步步 一幕幕[面向对象之方法、方法的重载、方法的重写、方法的递归]

    方法.方法的重载.方法的重写.方法的递归 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值 ...

随机推荐

  1. B P5 第十三届北航程序设计竞赛预赛

    https://buaacoding.cn/contest-ng/index.html#/188/problems 其实这题挺简单的. 注意到答案的大小最多是22 二分,check长度是mid的不同子 ...

  2. 3dsmax 卸载/安装失败/出错 2019/2018/2017/2016/2015/2013/2012

    AUTO Uninstaller 更新下载地址 1.选择3dsmax 2.选择版本 3.点击“开始卸载”

  3. 如何解决 “the specified service is marked as deletion”

    在部署windows service应用程序,突然发生了如下问题:“the specified service is marked as deletion”.导致windows service不能部署 ...

  4. Starting cloudera-scm-server: * Couldn't start cloudera-scm-server的解决办法(图文详解)

    bigdata@ubuntucmbigdata1:~$ sudo /etc/init.d/mysql start start: Job is already running: mysql bigdat ...

  5. [Eclipse]自动注释功能

    1) 新建一个file时,加上一些注释的方法. window->preference->java->code     styple->code     template 当你选 ...

  6. C#使用MediaInfo查看媒体信息

    1.将MediaInfo.dll放入可执行目录. 2.将官网Demo里的MediaInfoDLL.cs放入项目中.(http://mediainfo.sourceforge.net/en/Downlo ...

  7. java实现新旧版本号比较

    项目中需要使用比较现在线上版本和新版本,然后新版本执行新方法,方法如下: /** * * @方法名称:comparaVersion * @内容摘要: <版本比较> * @param old ...

  8. hql语句cast用法

    hql中cast为转换函数 cast(a as b);a是要转换的数据,b是目标类型(不是数据库类型名,是hibernate类型名:比如目标类型是varchar,必须写string) eg:selec ...

  9. IOS如何打越狱包xcode无证书打包ios应用

    本文要介绍的是在无证书的情况下如何将自己应用打包出去在越狱设备上使用或发给第三方使用企业签名进行应用分发. 前提条件:拥有appleId账号,并且该账号已经注册开发者中心(无需花钱) 教程开始: 1. ...

  10. .Net Core 应用框架。

    1.分布式系统框架  https://github.com/MassTransit/MassTransit 2.搜索引擎  https://github.com/XiLife-OSPC/Masuit. ...