ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Linux环境下c语言的指针2

Linux环境下c语言的指针2 1.指针初始化如果定义一个指针没有对齐进行初始化则会变成野指针野指针指向无效数据解引用时可能访问不该访问的内存引发段错误也可能不报错会篡改内存数据如果想要指针初始化为无则初始化为NULLvoid类型指针void 空类型 void * 空类型指针 --- 万能指针指针的运算 与 * 互为逆运算 示例1.给指针赋值把变量地址放进指针用 变量inta10;int*p;pa;2.指针解引用赋值*p 代表 p 指向的那块内存相当于间接给变量 a 赋值*p20快速排序思想在区间里挑一个基准值 这里选择数组首选素作为基准值把小于基准的放左边大于基准的放右边基准值放到它最终正确的位置上再递归对基准左边、右边两个小区间重复上面操作直到全部排序完成示意图示例指针操作字符型一维数组字符串 本身也是按照字符型一维数组的方式存储到计算机 — 字符串是一种特殊的字符型一维数组示例将字符型数组中的字符串转唤为int型*通过指针挨个指向字符型数组的元素实现对字符的挨个操作注意指针操作到字符型数组中的数据只需要获得首元素地址指针的运用1.指针可以操作一维数组2.指针灵活3.指针可以代表位置4.指针也可以实现间接访问2.const 的用法表示将所修饰的变量限定为只读修饰原则:就近原则离谁近就限定谁inta;//constinta;//这个a此时只读不可以在次赋值const对指针的作用const char * p //限定通过*p方式访问基类型 为 只读限定 *p方式 不能修改基类型char const * p //限定通过 *p方式访问基类型 为 只读char * const p //限定p本身为只读 表示p本身不能被修改const char * const p //p不能被修改 *p也不能被修改如果要对指针指向的变量内存里的值做修改的时候最好加上const可以在中途无意中修改时提醒避免该值的修改 提高参数的适用性表示字符串的方式char s[] “hello”; //使用栈空间上的 字符串在栈上开辟一块数组内存把字符串字面量hello的内容复制到栈数组里s是数组名代表数组首元素地址可以修改里面字符char *s “hello”;//使用字符串常量区中字符串hello 放在**字符串常量区只读段 程序启动就固定写死栈上创建指针变量 s把常量字符串的首地址赋值给指针s没有拷贝字符串不能修改字符串内容用 const char *s “hello” 表示更准确
返回列表