C语言基础知识 - 笔记(一)
2017-08-18 20:32
190 查看
C语言基础知识 - 笔记(一)
数据类型char—8位—127—255
int—16位—32767—65535
short—16位—32767—65535
long—32位—2147483647—4294967295
在表达式中,P是指针,*P是指向它的内容
函数指针 V.S. 指针函数
函数指针 int (*fun) ():本质上是一个指针,指向一个函数的地址,用于函数调用
指针函数 int * fun ():本质上是一个函数,返回值是一个指针地址
define、static和 typedef关键字
define
define是C语言中的预处理命令,用于宏定义,提高源代码的可读性。预处理命令以#开头。在C或者C++中源程序允许用一个标识符表示一个字符串(可以是常数、字符串、表达式等),称为“宏”。用标识符代替字符串的过程叫做“宏替换”或者“宏展开”。宏定义分为带参数宏和不带参宏。
static
可以修饰变量或者函数。由static修饰的变量只能在本文件中使用,变量存储在全局存储区中(不是堆栈中),仅在变量的作用范围内可见。能不用尽量不用。
typedef
用途一:定义一种类型的别名,而不是简单的宏替换
用途二:与struct一起使用
用途三:定义平台无关的类型
用途四:为复杂的声明定义一个新的简单的别名
sizeof和strlen
sizeof
单目运算符,以字节的形式给出操作数的存储空间的大小
sizeof的操作数可以是数据类型、函数、变量、表达式。注:对函数求值其结果是函数返回类型的大小
strlen
C语言标准库提供的一个函数,用于计算字符串长度。它的参数必须是char * ,需要依赖字符序列中的’\0’来判断是否结束。
字符串函数:
strcpy(char * destin, char * source):字符串拷贝
strcat(char * destin, char * source):字符串拼接
strcmp(char * str1, char * str2):字符串比较,看ASC码,相等返回0
strrev(char * str):字符串倒转
strupr(char* str):将串中的小写字母转化为大写
按值传递、指针传递、引用传递
按值传递(两个指针指向两个地址)
仅仅是把值拷贝到了另一个内存地址上,并没有改变原来变量(地址上)的值。
指针传递(两个指针指向一个地址)
改变一个新指针的指向,使之指向原来变量的地址,通过改变新指针指向内容可以改变原来变量的值。
引用传递(一个指针指向一个地址)
直接传递原变量的地址,通过修改内存地址上的值可以改变变量值
结构体、枚举、联合
联合本质上是所有成员叠加的结构体,某一时刻只能使用一个成员,联合体的大小是它最大成员的大小,而结构体的大小是所有成员大小的和
位域
相关文章推荐
- linux c 笔记-3 c语言基础知识
- 汇编语言王爽第二版学习笔记第一章:基础知识
- 汇编语言:基础知识(第一章)——学习笔记
- 汇编语言学习笔记(一):汇编语言基础知识
- 【CSAPP笔记】4. 汇编语言——基础知识
- Go语言学习笔记一、基础知识
- 汇编语言基础知识学习笔记(一)
- Java笔记之计算机基础知识$java语言基础
- 汇编语言 学习笔记(基础知识三-----内存地址空间)
- 汇编语言学习笔记--基础知识篇
- 汇编语言基础知识学习笔记(二)
- 汇编语言笔记01-基础知识
- ios开发学习笔记001-C语言基础知识
- 汇编语言基础知识学习笔记(三)
- C语言程序设计做题笔记之C语言基础知识(下)
- 【学习笔记之汇编语言】【一】基础知识
- PHP学习笔记(五)--基础知识之语言结构语句
- 【学习笔记四】C语言基础知识复习
- 学习笔记:第6章 程序语言基础知识
- 使用Code First建模自引用关系笔记 asp.net core上使用redis探索(1) asp.net mvc控制器激活全分析 语言入门必学的基础知识你还记得么? 反射