不要把业务模型写到main函数里面去。
指针的输入是指在主调函数里面分配内存块,在被调函数里面使用。
对于字符串分配内存有三种方式,可以在堆、栈、全局区(常量区)、你要知道你的内存是怎么分配的。
在编译器中p编译器最终编译也为p[];
必须要分配内存才能使用。
char p = NULL;//并没有分配内存不能用
在项目中一般不要修改输入的内存块的值。
char *p声明的在全局区,是字符串常量,想要修改必须要
这样声明 char p[];才行。
printf是c的函数库,必须以0结尾才会终止。
易出现的问题
越界。
不断的修改指针变量的值得含义
最终应该知道指向哪里了
void char_w (cha buf /in/)///in*/的作用是在主调函数里面分配内存
int* const d;//常量指针
const int* d//指针常量
如果const放在指针的右边表示const修饰d;
const放在指针的左边表示被指向的空间不能被改变。
指针是四个字节;
理解多级指针做函数参数
第一个角度:站在C/C++编译器的角度,对形参,如果是指针类型,c编译器只会分配四个自己的内存。
第二个角度:我们只有在使用指针所指向的内存空间的时候,我们才去关心内存是一维的还是二维的。
strchr函数原型:extern char *strchr(const char *s,char c);查找字符串s中首次出现字符c的位置。
用二级指针(通常是形参)去修改1接指针(通常是实参)的值
相当于在被调用函数里面分配内存,把结果给传出来。
char buf[10]
buf 是const类型的指针。
网友评论