题记
经过对linux系统和vim的一段时间的学习,终于可以在其中进行C语言的编程学习了,写下一些自己在学习C语言过程中的理解,也作为成长的一点记录。
1.关于c程序的运行的理解
可能在一开始就对c程序的运作有个比较直观的理解会比较快地入门。c程序中必须要有main()函数作为程序的入口,这个被称为主函数。在汇编程序中也许就是程序的载入点,我们可以在gdb调试中看到入口的地址。
除此之外,我们应该对其调用的其他函数也可以进行观察。通过内存存储知识的学习与理解,对"堆"(heap)和"栈"(stack)以及操作系统对内存的分配(malloc)有所了解,以加强对程序运行的理解。
当然,作为开头,我把重点放在程序中变量在实际内存中的存储情况上。我想,弄明白变量在内存中存储的状况:如变量的地址,变量的值等概念,是理解c程序指针这一核心概念的重要基础。
1: //这个程序用于展示变量在内存中的存储情况
2: #include<stdio.h>
3: int
4: main(void)
5: {
6: int a,b,c;
7: printf("请输入任意一个整数,a=");
8: scanf("%d",&a); //这里没有作输入数据检查
9: printf("请输入任意一个整数,b= \n");
10: scanf("%d",&b); //这里没有作输入数据检查
11: c=a+b;
12: //接下来,我们看看这两个变量在内存中的存储情况
13: printf("变量a在内存中的地址:%d 其数值为:%d \n",&a,a);
14: printf("变量b在内存中的地址:%d 其数值为:%d \n",&b,b);
15: printf("变量c在内存中的地址:%d 其数值为:%d \n",&c,c);
16: //注意:"%","\",",","&","(",")"等符号必须是半角状态!这在中文输入模式下极容易出错。
17: return 0;
18: }
几点感悟:
1."&"——取地址符号
2.注意每个语句后加";"号,初学者的经典错误!
3.我没有弄明白变量的地址与变量的名称之间的关系,不过总是感觉这两个之间有什么联系
4.还可以看下数组变量的各元素在内存中的存储情况
5.程序中的符号一定要注意,不要输入成全角形态的!(中文输入者的经典错误,编译程序时会遇到一大堆搞不明白所以的错误。)