【学习笔记,C语言】C语言学习笔记

语法:

  1. 打印地址:printf("address of value2: %p\n", &value2);

  2. C99 支持VLA(可变长数组),C11 放弃了这一创新的举措,把VLA设定为可选,而不是语言必备的特性

  3. int *ar形式和int ar[]形式都表示ar是一个指向int的指针。但是,int ar[]只能用于声明形式参数。第2种形式(int ar[])提醒读者指针ar指向的不仅仅一个int类型值,还是一个int类型数组的元素。

  4. 函数声明,函数原型,函数定义 的区别。

  5. 如果指向两个不同数组的指针进行求差运算可能会得出一个值,或者导致运行时错误。

  6. 在K&R C的年代,避免类似错误的唯一方法是提高警惕。ANSI C提供了一种预防手段。如果函数的意图不是修改数组中的数据内容,那么在函数原型和函数定义中声明形式参数时应使用关键字const。

  7. 把const数据或非const数据的地址初始化为指向const的指针或为其赋值是合法的;只能把非const数据的地址赋给普通指针

  8. 一维数组名 表示一个指针,表示一个指向int的指针

 

printf()格式化输出

 

字符说明
%p指针地址
%u无符号十进制整数(unsigned int)

 

关键字:

全局变量:

static:

目的是不用反复出栈,提高效率。

静态局部变量

和临时变量一样,但退出该函数后, 尽管该变量还继续存在,但不能使用它。

静态全局变量:

 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。

静态函数:

内部函数

auto: 默认存在,表示临时变量。

extern:同一文件中 告诉编译器num这个变量是存在的,但是不是在这之前声明的;引用不在同一个文件中的变量(全局)或者函数;引用另一个文件中的函数(不需要头文件包含?)。

register:寄存器变量,读取非常快  

 

void *memsetvoid *dest, int ch, size_t count );

void * malloc(size_t size)

void *reallocvoid *ptr, size_t new_size )

转载于:https://www.cnblogs.com/shengwang/p/11324927.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值