指针, 第十七讲 指针,结构体
计算概论
(Introduction to Computing)
主讲人:马思伟
北京大学数字媒体研究所 / 理科2号楼2 641 周一 周三
1
复习
多维数组与指针
– int arr[3][4]; arr, arr[0], &arr[0], &ar[0][0], arr+1, arr[1] – arr[0][0], *(*(arr+i)+j), arr[i][j]
指向函数的指针
int max(int a, int b); int *p(int , int); int c; p=max; c=p(4, 5)
2
关于编程
编程中常出现的错误 编程时应该注意的问题
3
编程中常出现的问题
1.
程序风格问题 变量定义(全局变量/局部变量,参数传值传地址调用等),函数定义,注释, 对齐等; 好的编程风格:容易阅读、调试、维护……
22
动态数组 – 申请空间
float *pf; pf = (float *)malloc(sizeof(float)* )malloc(sizeof(float)*20); )malloc(sizeof(float)* // 申请一个长度为20的数组,数组元素为float类型。
23
动态数组 – 头文件
void sort(char *name[], int n) { char *temp; int i, j, k; for(i=0; i<n-1; i++) { k = i; for(j=i; j<n-1; j++) if (strcmp (name[k], name[j]>0)) k = j; if (k!=i) {temp=name[i]; name[i]=name[k]; name[k]=temp; } }