数据类型
image.png- 基本数据类型:short(2)、int(4)、long(8)、char(1)、float(4)、double(8)
字符串
char * str = "aaaa";
printf("%s",str);
指针
- Java:万物皆对象;
- C、C++:万物皆指针;
- Linux:万物皆文件;
- 指针 == 地址;%p是地址站位输出符
- 任何都是地址,函数、对象都是地址
- *就是取出地址的值
- &就是变量对应的地址
- 指针永远都是存放内存地址
- 函数必须先申明再使用
- c语言不允许函数重载
交换
image.png多级指针
int num = 99;
int * num_p = #
int ** num_p_p = & num_p;
//多级指针取回原值:
printf("%d",*num_p);
printf("%d",**num_p_p);
image.png
- 指针存放的是内存地址
-
指针也有地址,自己的内存地址:&p
image.png
数组与数组指针
int arr[] = {1,9,3,4};
-
arr == &arr == &arr[0] 这三个值相等
-
数组的内存地址 =第一个元素的内存地址
-
*arr 可以用来取出第一个元素的值
image.png -
通过指针位移来取数组的值
image.png -
遍历数组赋值
image.png -
*arr 1
-
*arr+1 2
-
*(arr+1) 9
-
指针类型有什么用
image.png -
函数指针
void(*method)(int,int)
//实现回调
#include "stdlib.h";
int add(int num1, int num2) {
return num1 + num2;
}
int oprate(int(*method)(int, int), int num1, int num2) {
return method(num1, num2);
}
int main() {
int result = oprate(add, 1, 2);
printf("输出结果为%d", result);//3
}
-
文件上传
image.png
网友评论