谈谈C语言
2016-03-01 17:49
253 查看
直接切入主题,今天跟大家聊聊C语言。大家都知道C语言是一门面向过程的高级语言。C语言的核心是函数与指针。但是好多人都害怕指针,为什么呢?
个人认为:
1.许多学过C语言的人或者老师都强调指针的重要性,这不给大家造成了心里阴影,其实没什么神秘!
2.指针这一块的知识比较灵活,能与其它任何知识(C语言相关的)巧妙的结合起来,稍有不慎,便会出错。
今天我就发表一下,我个人的看法:
大家都知道字符型变量,整型变量,浮点型变量,结构体变量,共用体变量,那其实指针变量跟它们也一样嘛,大家都是变量咯。
问大家一下,什么是变量?什么是常量(C语言中如何声明和定义常量)?常量留给大家思考,变量定义就是在程序运行过程中可以改变的值。本质是一个值,值就是内存中的存储单元,程序中如何找到这个值呢?靠存储单元的地址。我们在程序中定义的变量名实际就是一个地址标识符!
举个例子吧:
int sun;
float money;
struct Birthday{
int year;int month;int day;
}xiaoming ;
sun,money,xiaoming都是变量;只不过它们的类型不一样;但在内存里面都是地址。
那如何定义一个指针变量呢? 核心就是一个星号*。
void * thisIsPointer; 这个thisIsPointer就是一个指针变量,它本身就是一个符号地址,跟其它类型的变量一样。
那指针变量跟其它类型的变量的究竟有什么不一样的呢?
答:存储单元的内容不一样。
今天就谈这么多,以后跟大家再谈,谢谢大家!
个人认为:
1.许多学过C语言的人或者老师都强调指针的重要性,这不给大家造成了心里阴影,其实没什么神秘!
2.指针这一块的知识比较灵活,能与其它任何知识(C语言相关的)巧妙的结合起来,稍有不慎,便会出错。
今天我就发表一下,我个人的看法:
大家都知道字符型变量,整型变量,浮点型变量,结构体变量,共用体变量,那其实指针变量跟它们也一样嘛,大家都是变量咯。
问大家一下,什么是变量?什么是常量(C语言中如何声明和定义常量)?常量留给大家思考,变量定义就是在程序运行过程中可以改变的值。本质是一个值,值就是内存中的存储单元,程序中如何找到这个值呢?靠存储单元的地址。我们在程序中定义的变量名实际就是一个地址标识符!
举个例子吧:
int sun;
float money;
struct Birthday{
int year;int month;int day;
}xiaoming ;
sun,money,xiaoming都是变量;只不过它们的类型不一样;但在内存里面都是地址。
那如何定义一个指针变量呢? 核心就是一个星号*。
void * thisIsPointer; 这个thisIsPointer就是一个指针变量,它本身就是一个符号地址,跟其它类型的变量一样。
那指针变量跟其它类型的变量的究竟有什么不一样的呢?
答:存储单元的内容不一样。
今天就谈这么多,以后跟大家再谈,谢谢大家!
相关文章推荐
- C++中虚函数和非虚函数重载在继承时的区别
- c++中std::map key使用智能指针笔记
- C语言sprintf与sscanf函数总结及fscanf,sscanf,fprintf,sprintf之间的区别
- c调用c++函数(包括类成员函数)的方法
- c语言:有3个字符串,找出其中最大者
- c语言:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开
- c语言:输出一个菱形图
- c语言:3*4的矩阵,编程序求出其中最大的那个元素的值,以及其所在的行号和列号。(打擂台算法)
- c语言:将一个二维数组行和列的元素互换,存到另一个二维数组中。
- c++ 栈区 堆区 常量区
- c语言:有10个地区的面积,要求它们按从小到大的顺序排列。(起泡法的应用)
- c语言:用数组来处理求Fibonacci数列问题
- c语言:对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。
- 一个很好的c++指针面试题 想当年我只对了一个,现在回头看,还是错的一塌糊涂
- 编程基础-----c语言打印调用栈
- c语法集锦
- C++链接两个cpp 文件
- C++第15周(春)项目3 - OOP版电子词典(一)
- C++ Primer 学习笔记——动态内存与智能指针(1)
- C++ primer 第五版 中文版 练习 10.37