知识点:
1.地址和指针
c语言里可以用变量的地址,通过地址运算符&得到。
int x; 变量x的地址,&x。
int a[10]数组变量a的地址,数组名a。
2.指针和指针的变量
指针:一个变量的指针就变量的地址。
指针变量:放变量地址的变量,它来纸箱你另一个变量。
变量访问的方式:
(1)直接访问:通过变量名或者地址访问变量的储存区。
例:scanf(“&d”,&x);
x=sqrt(x);
printf(“%d”,x);
(2)间接访问:把一个变量的地址放到另一个变量中,好比是把一个货物放到卡车里,之后着货物的时候先找到卡车,再确定卡车里存放货物的地址找到货物。
3.指针变量
格式:数据类型 *指针变量名;
*号表示这个变量是指针变量。
让指针变量指向另一个确定的变量必须进行赋值。
4.指针运算符
p和*p不一样,p是指针变量,p的值是p所指向的变量的地址。*p是p所指向的变量,*p的值是p所指向的变量的值。
实验心得:听课很重要
代码作业:
1.计算两个数的和与差
void sum_diff( float op1, float op2, float *psum, float *pdiff ) { *psum=op1+op2; *pdiff=op1-op2; }
2.利用指针找最大值
11、#include<stdio.h> int main() { void findmax(int *p1,int *p2); int a,b; int *p1,*p2; printf("请输入两个整数给a b:\n"); scanf("%d %d",&a,&b); p1=&a; p2=&b; if(a<b) findmax(p1,p2); printf("max=%d\n",a); return 0; } void findmax(int *p1,int *p2) { int temp; temp=*p1; *p1=*p2; *p2=temp; }
3.拆分实数的整数与最小部分
#include<stdio.h> void main() { double x; double a; double b; printf("请输入一个数:"); scanf("%lf",&x); a=floor(x); b=x-a; printf("整数部分:%lf\n",a); printf("小数部分:%lf\n",b); }