苏嵌25 16.12.02

来源:互联网 发布:天行轶事单行本淘宝 编辑:程序博客网 时间:2024/05/17 09:43

分配空间 char *ptr = (char *)malloc(sizeof(char) * 100);

返回malloc返回值  默认返回void *


默认类型转换

强制类型转换


①指针之间赋值一定要是相同类型(步长)指针之间赋值(除实型float)


16进制每两位一个字节

警告:从不兼容的指针类型赋值--->不同类型指针之间赋值


★步长 长指针--->短指针   数据丢失   短--->长   取多的数据


②void * 万能指针:可以保存接收任何类型指针的值

    void *ptr;


③但不能进行取值操作(void *)没有步长,需要强制类型转化*(int *)ptr

void *类型下ptr++;   默认加一个字节   (二义性)


指针和指针之间的运算:只有 - 没有 +

指针 - 指针

int *p1;

int *p2;

printf("%d\n",p2-p1);

答案为8    8×4=32字节


段错误:①野指针②对NULL指针(零地址)操作③scanf时没有&取地址


★字符串就是首字符的地址


char src[100];

memset(src,'a',sizeof(src) - 1);

0 0
原创粉丝点击