c语言学习笔记
1、c语言程序编译的四个步骤;预处理、编译、汇编、链接;
2、字符串输入问题(蓝桥杯刷题会用到):
char a[100]; scanf("%s",a);//输入 hello world
printf("%s",a);//输出为 hello
//scanf表明之把字符数组以空格分开,一次只读取一个
//printf("%s",a)表明只读取首地址第一部分
3、指针:
int *p; p=&a;
a=100; printf("%d",*p);//输出值为100 即a的值;
//p中存储为a的地址,*p则寻找p中a所存地址指向的数据
//*有两种含义 1)表示类型:
int a=10;
int *p;//表示声明的是指针类型
p=&a;
printf("%d",*p);//*代表操作指针所指向内存
//*p等价于*(p+0)等价于p[0]
4、static定义变量是在编译时就已经为其分配内存,不同于局部变量。程序结束后此变量才会被释放。
5、指针指向堆区操作
//错误示范:指针p没有指向内存,为野指针。应指向堆区或栈区内存
struct student s { int a; char b[100]; }; int main() { struct student *p; print("%d, %s",p->a,p->b); return 0; }
//加入代码 p=(struct student *)malloc(sizeof(struct student));//即指针指向堆区空间;i

浙公网安备 33010602011771号