(1)结构体指针作为函数参数时,调用时传递的是指向一个结构体变量的指针(即结构体变量的地址);结构体变量作为函数参数时,调用时传递的结构体变量本身。(2)以下代码显示了调用时的区别 include <stdio.h> /* 定义结构体类型Point */ typedef struct { int x;int y;} Point;void fun1(Point...
intmain(){ int*p;//int * 表示该p变量只能存储int类型变量的地址 printf("%d",p); return0; } 1. 2. 3. 4. 5. 6. 7. 因为p没有保存任何变量的地址,所以最终会指向一个不确定的垃圾地址 。 运行结果: 例2 #include <stdio.h> intmain(){ int*p;//p是变量名字,int * 表示该p变量只能存储...
1printf("%x", &a); 大概会是像这样的一串数字:0x7ffcad3b8f3c 2.2 指针本质 上面说,我们可以通过&符号获取变量的内存地址,那获取之后如何来表示这是一个地址,而不是一个普通的值呢? 也就是在 C 语言中如何表示地址这个概念呢? 对,就是指针,你可以这样: 1int *pa = &a; pa 中存储的就是变量 a ...
base 表示栈底指针 top 表示栈顶指针 stackSize 表示栈当前可以使用的最大容量 若base的值是NULL,表示栈结构不存在;top初始值指向栈底,即top = base; 每当插入新的元素时,指针top就增1,反之删除就减1,非空栈中的栈顶指针始终在栈顶元素的下一个指针上面。 数据元素和栈顶指针的关系如下图所示: 链表栈 我...
在C语言程序设计中,不同类型的数在计算机内存中所占空间是不同的。 答案:正确 判断题 对于某一指针变量可以接收任何类型的值。 答案:错误 判断题 在函数的定义和调用过程中,形式参数和实在参数数目可以不一致。 答案:错误 判断题 在循环过程中,使用break语句和continue语句的作用是一样的。