1. signed char: 128:
原码:1 1000 0000 反码:1 0111 1111 补码:1 1000 0000(-128)
-129:
原码:1 1000 0001 反码:1 0111 1110 补码:1 0111 1111(截取:127)
2.C语言命名: 1.函数命名要简洁(不可多余5个单词),清楚;
eg: continue_max_num_str(str) //从字符串中找出最大的数字串;
3.c语言声明: 1.int * (* (*fp1)(int) )[10]:
: fp1是函数指针变量,该指针指向一个形参为int,返回值是数组指针的函数,指针指向整型指针数组;
“右左法则”[重要!!!]
这是一个简单的法则,但能让你准确理解所有的声明。这个法则运用如下:从最内部的括号开始阅读声明,向右看,然后向左看。当你碰到一个括号时就调转阅 读的方向。括号内的所有内容都分析完毕就跳出括号的范围。这样继续,直到整个声明都被分析完毕。 对上述“右左法则”做一个小小的修正:当你第一次开始 阅读声明的时候,你必须从变量名开始,而不是从最内部的括号。
2.基础声明:a)一个整型数
:int a; 变量a里面保存整型数值;
b)一个指向整型数的指针 : int *a; 指针变量里面保存整型数值;
c)一个指向指针的指针,它指向的指针是指向一个整型数: int **a; 指向指针的指针变量;
b)一个指向整型数的指针 : int *a; 指针变量里面保存整型数值;
c)一个指向指针的指针,它指向的指针是指向一个整型数: int **a; 指向指针的指针变量;
d)一个有 10 个整型数的数组 :
int a[10] 数组a里面保存10个整型数据;
e) 一个有 10 个指针的数组,该指针是指向一个整型数的。
int *a[10] a是指针数组,指针是数组的地址
f) 一个指向有 10 个整型数组的指针, int (*a)[10] a是指针变量,存放数组的地址;
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数 int (*a)(int) a是函数指针,指针指向形参为int,返回值是int 的函数。
h)一个有 10 个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数 int (*a[10]) (int) a是指针数组,指针指向形参为int,返回值是int 的函数
f) 一个指向有 10 个整型数组的指针, int (*a)[10] a是指针变量,存放数组的地址;
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数 int (*a)(int) a是函数指针,指针指向形参为int,返回值是int 的函数。
h)一个有 10 个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数 int (*a[10]) (int) a是指针数组,指针指向形参为int,返回值是int 的函数
3.没有指针函数,有函数指针