ARTICLE DETAIL

资讯详情

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

log[12]:C语言基础——指针

log[12]:C语言基础——指针 1、野指针指针变量未初始化变量中可能是随机值指针指向不明确NULL——空地址0号地址NULL是void * 空指针类型为避免野指针int *p NULL;表明指针有明确指向2、快速排序思想分而治之流程step1选择一个基准值位置——将所在区间首元素当作基准值step2从右往左找到第一个比基准值小的值step3从左往右找到第一个比基准值大的值step4交换step2 step3找到的值step5重复step2至step4直到begin与end相遇step6相遇时将相遇位置上的值与基准值交换step7对比基准值小的一部分与比基准值大的一部分分别继续快速排序代码void quickSort(int *begin,int *end) { if(begin end) { return ; } int *p begin; int *q end; int *k begin; while(beginend) { while(beginend *end *k) { --end; } while(beginend *begin *k) { begin; } swap(begin,end); } swap(begin,k); quickSort(p,end-1); quickSort(begin1,q); }3、指针操作字符型一维数组只需要获得首元素地址语法char s[] hello; char *p s;4、const修饰表示将所修饰的变量限定为只读修饰原则: 就近原则 离谁近就限定谁const char * p 限定通过*p方式访问基类型 为 只读char const * p 限定通过*p方式访问基类型 为 只读char * const p 限定p本身为只读 表示p本身不能被修改const char * const p p不能被修改 *p也不能被修改好处避免出问题 出问题也可以及早发现提高参数的适用性 。栈上空间中字符串和字符常量区中字符串char s[] hello使用的是栈上字符串默认为可读可写char *s hello;使用的是字符常量区中字符串默认只读
返回列表