2018-08-13 NDK Day2
指针++:
指针是指向地址的.
*p 指针,p++
使用一个指针 array,++aray,数据
数组存储的是一块内存连续的数据,指针是指向内存的变量.
//直接输出数组名,就是输出数组首元素的地址.
P4 指向的是一个char指针,比如
Const 是不允许修饰*,(不能修改指针的值),所以如果存在找不到的情况.
比如 const char *p2 = tmp;
Int &&p = &p7;
*p : 就是解引用的作用.
函数: 必须在使用之前进行申明.
// 1传值,将参数的值给函数.
Change();
//2 传引用,
test():
指针指向数据,指针发生改变之后响应的数据也会发生变动.
二级指针,修改的是p9的指向.
指向函数的指针就是函数指针.
*p,p就是一个变量.
Typedef:
预处理器:
预处理器主要完成的是文本替换的工作的,有什么作用呢?
比如需要写一些测试的方法.
include
if
else
endif
define
endif
ifndef
undef
pragma
宏定义的形式.
If 0:
Else:
//1 宏变量
define
//2宏函数
define TEST(i) printf(“%d\n”,i);
那么任何地方都可以进行调用,并且只要传入相应的参数就好.
每个使用到宏函数的地方都会进行替换。
优点:文本替换,使用到宏函数的地方都会执行替换,不会造成函数调用的开销.
缺点:不会对我们的代码执行检查,代码增加了,生成的目标增大了.
比如生成so文件库增大了.
定义宏函数的时候
指针位置+1,表示的是指向下一个值的内存的地址.
内联函数中不能写太复杂的东西,如果太复杂了,编译器会自动将其降级为普通函数.
比如while,switch.
pragma once 这个头文件只能被定义一次.
可变参数 sprintf
总结:指针很重要!
网友评论