c 指针学习记录
程序员文章站
2022-07-09 21:46:25
...
以前在学校,没有把C语言学好,最近想下定决心学好,把学习过程中遇到的问题做下记录。
c语言中,指针的操作是很灵活,很强大的,极容易犯错。而避免犯错的方式,是把所有错误都犯一次。嘿嘿,当然这句话你不能用在生活中....
#include <stdio.h>
void pass(){
int number = 20;
int *n;
n = &number;
*n = 40;
printf("n=%d\n", *n);
}
void error(){
int number =20;
int *p;
*p = 30; //指针没有指向具体的内存之前,这种赋值是不行的。但不明白的是为什么执行了pass方法后就可以了
printf("p=%d\n", *p);
}
void str(){
char *p;
p="asdf";
p="hello world!";
// p[0] = 't'; // 指针地址没有赋值,操作字符出错
printf("%s\n", p);
}
void str_1(){
char *pr;
char str[] = "test";
pr = str;
pr[0] = 'h'; // 指针指向了字符变量地址,可以操作字符
printf("%s\n", pr);
}
int main(void)
{
pass();
error(); //不执行pass方法,这里会引起内存错误
str();
str_1();
return 0;
}
上一篇: lucene代码分析7
下一篇: Java后端笔记12