《C和指针》
文章平均质量分 69
Elec Liu
原来是无知,给了我莫名的勇气
展开
-
《C和指针》(7)函数
如果在一个函数的声明中,它的返回值类型为A,但它的函数体内有一条return语句,返回了一个类型为B的表达式。:如果在一个函数的声明中,它的返回值类型为A,但它的函数体内有一条return语句,返回了一个类型为B的表达式。如果一个函数被调用之前,编译器无法看到它的原型,如果当这个函数被调用时,实际传递给它的参数与它的形式参数不匹配,会发生什么情况?如果一个函数被调用之前,编译器无法看到它的原型,那么当这个函数返回一个不是整型的值时,会发生什么情况?:参数值被解释为形式参数的类型,而不是它们的实际类型。原创 2023-10-31 16:39:14 · 245 阅读 · 0 评论 -
《C和指针》(6)指针
下面的表显示了几个内存位置的内容。首先,假定所有的变量都是整型,找到表达式的右值,再找到它的左值,给出它所指定的内存位置的地址。指针在它被解引用之前增值,所以下一个被破坏的值就是存储于内存位置4的变量(假定整数的长度为4个字节)。如果硬件并没有捕捉到这个错误并终止程序,这个循环将快乐地继续下去,指针在内存中欢快地前行,破坏它遇见的所有值0当它再一次到达这个数组的位置时,就会重复上面这个过程,从而导致一个微妙的无限循环。当指针移到数组后面的那个内存位置时,那个最后被清零的内存内置就是保存指针的位置。原创 2023-10-29 20:56:54 · 547 阅读 · 0 评论 -
《C和指针》(5)操作符和表达式
根据下面的变量声明和初始化,计算下列每个表达式的值。如果某个表达式具有副作用(也就是说它修改了一个或多个变量的值),注明它们。在计算每个表达式时,每个变量所使用的是开始时给出的初始值,而不是前一个表达式的结果。请判断编译器是如何对各个表达式进行求值的,并在不改变求值顺序的情况下,尽可能去除多余的括号。:声明一个有符号整数,给它赋值负值,右移一位,然后打印结果。如何判断在你的机器上对一个有符号值进行右移位操作时执行的是算术移位还是逻辑移位?改写下面的代码段,消除多余的代码。下面这个程序的结果是什么?原创 2023-10-27 16:19:45 · 300 阅读 · 0 评论 -
《C和指针》(3)数据
这两台机器的缺省整型长度并不相同,一个是16位,另一个是32位。程序所使用的有些变量的值并不太大,足以保存于任何一台机器的缺省整型变量中,但有些变量的值却较大,必须是32位的整型变量才能容纳它。一种可行的解决方案是用长整型表示所有的值,但在16位机器上,对于那些用16位足以容纳的值而言,时间和空间的浪费不可小视。一个有符号值和无符号值仅有的区别在于它的一半值是如何解释的.在一个有符号值中,它们是负值。如果你希望从不同的源文件的函数中访问这个变量,需不需要添加额外的声明,如果需要的话,应该添加什么样的声明?原创 2023-10-19 17:41:42 · 102 阅读 · 0 评论 -
《C和指针》(1)快速上手
如果想要注释某一行代码,可以使用如下条件编译指令,而不是采用普通的注释符。读入源代码,根据预处理指令对其进行修改,然后把修改过的源代码递交给。的内容被逐字写到源文件的那个位置。原创 2023-10-13 20:34:26 · 88 阅读 · 0 评论 -
《C和指针》(6)指针
bit01byte80-255-128--127244232−12147483647−231231−124这里有一个例子,上边的数字是内存地址,下边的是对应的内容。如果你记得这几个数的地址你就可以根据地址来用这些值,但是要记住地址太难了,地址有很多,很复杂,所以不切实际。所以可以通过名字而不是地址来访问内存的位置。如下图所示:有一点很重要,。原创 2023-08-04 21:34:48 · 238 阅读 · 0 评论