![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C指针
Duc_Duke
天行健君子以自强不息、地势坤君子以厚德载物。
展开
-
初学指针
int a = 10; 整型变量保存整型值 int a,&a->int *char b = 'a'; 字符变量保存字符值 c...原创 2018-04-06 00:54:50 · 177 阅读 · 0 评论 -
给定任意正整数数字,求其位数并顺序、逆序输出各位数字
题目:给一个不多于5位的正整数,要求:(1)、求出它是几位数(2)、分别输出每一位数字(3)、按逆序输出各位数字解答:(1)、写法1 :int Several_digits (int n){ if (n>9999 && n<100000) { printf("五位数字"); } if (n&g...原创 2018-04-05 22:39:34 · 4200 阅读 · 0 评论 -
字符串_字符串的复制
字符串:以" "号包括的字符序列,带'\0'字符串的结尾标记'\0'只要末尾为'\0'的都是字符串定义字符数组:#include <stdio.h>int main(){char arr[10] = {'a','b','c'};//定义一个字符数组,将字符a,字符b,字符c赋给前三个字符,其余均为'\0',该数组是字符串char brr[] = ...原创 2018-04-07 13:50:21 · 979 阅读 · 0 评论 -
assert AND const
assert:断言:断定表达式的结果一定为真,如果为真什么都不做,如果为假程序崩溃(debug)断言的使用必须包含的头文件:#include <assert.h>举例:1、计算字符串的有效长度,不包含'\0'#include <stdio.h>#include <assert.h>#include <string.h>...原创 2018-04-27 22:57:42 · 193 阅读 · 0 评论 -
指针使用(五)指针的算术运算-指针差
指针差:指针减指针,指针减指针,减去两个指针间的单元格个数,不是字节数,指针减指针,存在正负,用来表示两指针间的地址大小,指针减指针,需要进行调整,调整的权重为sizeof(指针去掉一个*)计算方法:1、算出两个指针间的字节数;2、用字节数除以调整的权重例题:#include <stdio.h>int main(){int arr[10] = {1}; ...原创 2018-04-26 14:34:01 · 1066 阅读 · 0 评论 -
指针使用(四)指针的算术运算-指针减法
根据指针加法可知:程序员需要通过指针p--来改变数组中数组的值,指针q--会使指针p向前移动一个单元格,当指针q为整型时,移动四个字节指针减法,需要调整,调整的权重为sizeof(指针去掉一个*)#include<stdio.h>int main(){int arr[10] = {1,2,3,4,5,6,7,8,9,10};for(int *q = &am...原创 2018-04-26 14:15:06 · 515 阅读 · 0 评论 -
指针使用(三)指针的算术运算-指针加法
#include <stdio.h>int main(){int arr[]={1,2,3,4,5,6,7,8,9,10};int *p;p=arr;*p=10;p++;*p=20;printf("%d\n",arr[0],arr[1]);return 0;}问:输出结果为什么???指针p++;是一下那种情况1、加一个字符数组的长度2、加一个字节的...原创 2018-04-26 12:45:37 · 658 阅读 · 0 评论 -
指针使用(二)指针崩溃、野指针
指针崩溃:当指针表示无效指针时指针会产生崩溃示例:#include<stdio.h>int main(){int a = 10;int *p = &a;p = NULL;printf("%d\n",*p);return 0;}//指针p被赋值为空,即指针p被赋值为无效指针,当再次输出*p的值时,指针崩溃。问题:#include <...原创 2018-04-07 00:18:36 · 1503 阅读 · 0 评论 -
指针使用(一)交换函数
规定:主函数称为父函数,调用函数称为子函数交换函数:即通过调用函数使主函数中两个值的输出交换顺序子函数的改变改变父函数的值必要条件:1、传指针,2、解应用#include <stdio.h>void Swap_err1 (int m,int n){int tmp;tmp = m;m = n;n = tmp;//printf("%d,%d\n",m,n);...原创 2018-04-06 21:45:38 · 1236 阅读 · 0 评论 -
union_整形->IP(点分十进制)
解法一:普通处理#include<stdio.h>void PrintIP(unsigned int ip){ int i = 0; int a =0; for(int i = 0;i<4;++i) { a = ip & 0x0ff; printf("%d.",a); ip>&...原创 2019-08-11 17:18:20 · 269 阅读 · 0 评论