C语言小结
来源:互联网 发布:psv破解软件下载 编辑:程序博客网 时间:2024/05/21 14:57
1 C语言小结
2 说明以下const常量
3 int const a;/const int a; 都表示一个常量整数a里存的数据不可改变
4 通常使用前者定义;
5
6 int * const a;首先让离const最近的那个符号先与const结合,如int const就是整型数不能被改变
7 如* const就是指针为常量指针不可被改变
8 所以上述定义表示a时一个指向整数的常量指针,a的地址不可被改变,a里存的整数可以改变
9
10 const int * a;/int const * a;首先确定整型数不可被改变
11 也就是a是一个指向整型常量的指针,a的值可以被改变 而*a不能改变
12
13 int const * const a;表示一个常量指针指向了一个整型常量
14 即:a和*a都不可被改变
15
16 一个c文件中的变量问题:
17 一个C文件中的全局变量如 int a;
18 首先这样写表示声明,如int a = 0;表示定义
19 以上两种写法都默认a属于全局static变量,如果加上static int a;更明确而已
20 此时的全局变量在其他c文件中可以使用,但是有一个前提条件就是:
21 在其他C文件中使用a时必须加外部声明:
22 extern int a;(注意此处只是声明,而不能定义)
23 使用了外部声明之后在c文件中才能使用a变量;
24
25 指针数组的问题:
26 因为[]的优先级比*高
27 如int * a[2];从左到有a先于[]数组结合,首先a是数组,然后再与*指针结合
28 也就是数组里保存的是指针两个元素的指针指向整型数,
2 说明以下const常量
3 int const a;/const int a; 都表示一个常量整数a里存的数据不可改变
4 通常使用前者定义;
5
6 int * const a;首先让离const最近的那个符号先与const结合,如int const就是整型数不能被改变
7 如* const就是指针为常量指针不可被改变
8 所以上述定义表示a时一个指向整数的常量指针,a的地址不可被改变,a里存的整数可以改变
9
10 const int * a;/int const * a;首先确定整型数不可被改变
11 也就是a是一个指向整型常量的指针,a的值可以被改变 而*a不能改变
12
13 int const * const a;表示一个常量指针指向了一个整型常量
14 即:a和*a都不可被改变
15
16 一个c文件中的变量问题:
17 一个C文件中的全局变量如 int a;
18 首先这样写表示声明,如int a = 0;表示定义
19 以上两种写法都默认a属于全局static变量,如果加上static int a;更明确而已
20 此时的全局变量在其他c文件中可以使用,但是有一个前提条件就是:
21 在其他C文件中使用a时必须加外部声明:
22 extern int a;(注意此处只是声明,而不能定义)
23 使用了外部声明之后在c文件中才能使用a变量;
24
25 指针数组的问题:
26 因为[]的优先级比*高
27 如int * a[2];从左到有a先于[]数组结合,首先a是数组,然后再与*指针结合
28 也就是数组里保存的是指针两个元素的指针指向整型数,
29 a[0]和a[1]都是指针;此写法叫指针数组
30 如int (*a)[2]先读取()中的内容即a与*先结合a是一个指针然后在于数组[]结合
31 即a是一个指针变量指向一个含有2个元素的整数数组;
32 如int p[4][2], int (*a)[2] = p;
33 *a + i也就是p[0][i]的地址
34 *(a+n)+m也就是a[n][m]的地址
35 此写法叫做数组指针
36
37 指针函数与函数指针
38 如void * init_list(int a, int b);
39 此类为指针函数返回(void *)类型的指针,void *类型可以强制转换为所有类型的执行
40 而且不用担心内存越界的问题;
41 如 int * a;
42 a = (int *)init_list(a, b);
43 如int (* init_list)(int a, int b);/ void (* init_list)(int, int);
44 此类为函数指针,是一个指针变量的声明 该指针指向的函数返回int整型数据;
45 如 int sum(int a, int b)
46 {
47 return a+b;
48 }
49 init_list = sum;
50 此时init_list函数指针便指向了一个求和的函数;
0 0
- C语言小结
- c语言小结
- C语言小结
- c语言笔试小结
- C语言小结
- C语言指针小结
- c语言学习小结
- C语言关键字小结
- 19、C语言小结
- C 语言小结
- C语言小结
- C语言小结
- <C语言全局变量小结>
- C语言小结
- C语言小结
- C语言字符串小结
- C语言数组小结
- C语言小结
- vb的MsFlexGrid和c#的DataGridView
- 【Android】自定义透明dialog 去除边缘阴影 黑边
- 打车软件盛行,如何判断是否拒载
- php区分大小写
- 劝学
- C语言小结
- C语言_字符和字符串
- 硬件检测:安装、停用
- 堆排序
- IOS应用开发15——UITableView多选删除及样式自定
- Spring 3之MVC & Security简单整合开发(二)
- 探究AFNetworking的使用
- 操作系统 - 虚拟存储管理技术之虚拟页式存储管理
- [ASP.NET]从Request.Url获取根网址的最简单方法