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

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

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

3.main()一般接受两个参数argcargv,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. 安装 Office project 2013 时提示找不到 Office.zh-cn\OfficeLR.cab

    昨天在安装project 时总是弹出下图中的提示框,在网上搜索了很多办法但是没有解决这个问题. 后来进入到office.zh-cn的文件夹中,在officemui.msi文件中右键卸载,然后在重新安装 ...

  2. eclipse decompiler

    # eclipse -> help -> eclipse marketplace # decompiler

  3. Python + Selenium 练习篇 - 获取页面所有邮箱

    代码如下: # coding=utf-8import re    #python中利用正则,需要导入re模块from selenium import webdriverdriver = webdriv ...

  4. php高级教程

    PHP - 多维数组 多维数组指的是包含一个或多个数组的数组. 注释:数组的维度指示您需要选择元素的索引数. 对于二维数组,您需要两个索引来选取元素 对于三维数组,您需要三个索引来选取元素 PHP - ...

  5. log4j.properties 日志分析

    # 多目的地.自定义样式#设置级别和多个目的地#level 是日志记录的优先级,分为 OFF.FATAL.ERROR.WARN.INFO.DEBUG.ALL或者您定义的级别.#Log4j建议只使用四个 ...

  6. Fedora 安装 phpMyAdmin(可能只有自己看得懂)

    yum groupinstall "Development Tools" yum install php-mysqli php-mbstring php-mcrypt yum in ...

  7. HDU 4365——Palindrome graph——————【规律+快速幂】

    Palindrome graph Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  8. Day7下

    T1 我直接就用的LCA ,可能慢点.反正数据试过了. T2 期望dp不会啊. T3 好麻烦.

  9. Unity Shader 学习笔记(一)

    _MainTex_ST (1)简单来说,TRANSFORM_TEX(tex,name) (tex.xy * name##_ST.xy + name##_ST.zw)主要作用是拿顶点的uv去和材质球的t ...

  10. Visual Studio 2017 安装失败,你们有这样的问题吗?怎么解决

    由于发生一个或多个包故障,产品未能安装列出的工作负荷和组件. 工作负荷不完整 使用 JavaScript 的移动开发 (Microsoft.VisualStudio.Workload.WebCross ...