学习日志1
姓名:佟奇 日期:2018.9.10
今日学习任务:
安装虚拟机,运行Linux环境并熟悉虚拟机,利用C语言知识独立编写程序,简单的打印输出,字符,学习指针数组,strcpy 命令,strlen等基本程序并正确编译运行。
今日任务完成情况:
跟老师在虚拟机Linux中编写程序,并编译运行成功,完成老师布置的课后作业。
上课笔记:
cd / 切换到根目录
vim hello.c 写程序 a 插入
esc 退出
shift z z 退回界面
gcc hello.c -o hello 编译文件
rm -rf a.out 删除文件名
./hello 执行该程序
int 4个字节
short 2个字节
double 8个字节
long 4个字节
char 1个字节
float 4个字节
1个字节是8位,32位/8=4个字节
int *p = &a;把地址赋给指针
所有指针都占4个字节;
结构体
1.结构体总长度一定是最长成员的长度的整数倍
2.每个成员的偏移量一定是该成员长度的整数倍
今日开发中出现的问题汇总:
C语言中许多函数还不是很清楚,有待提高。
今日未解决问题:
课上结构体部分还是比较模糊。
今日开发收获:
从早到晚一直在敲代码,把很多的函数知识点又重新复习了一遍。
学会了在linux操作系统下进行程序编译。
自我评价:
一天的收获挺多的,又学到了一些干货,为后面做项目打下了坚实的基础。
上课程序
//指针数组
1 #include”stdio.h”
2 /*
3 #include “string.h”
4 * void mystrcpy(char *dest,const char *src)
5 {
6 while (*src !=’\0’)
7 {
8 *dest =*src;
9 dest++;
10 src++;
11 }
12
13 while ((*dest++=*src)!=’\0’);
14
15 }
16 int main()
17 {
18 char str[20]={0};
19 char ptr[20]=”helloworld”;
20 strcpy(str,ptr);
21 printf(“%s\n”,str);
22
23 return 0;
24
25 }*/
26
27
28 int main()
29 {
30 int a[5]={1,2,3,4,5};
31 int *p=a;
32 int i;
33 for(i=0;i< sizeof(a)/sizeof(a[0]);i++)
34 {
35 //printf(“%d”,a[i]); //xiaobiaofa
36 printf(“%d”,*(p+i));//zhizhenfa
37 //printf(“%d”,*(a+i)); //tongshang
39 }
40 printf(“\n”);
41
42 printf(“%p\n”,a);
43 printf(“%p\n”,&a); //shuszuyuansudedizhi
44
45 printf(“%p\n”,a+1); //4
46 printf(“%p\n”,&a+1); //20
47
48 return 0;
49 }
//
1 #include