学习日志 姓名:张一林 日期:07.23
|
|
今日学习任务
|
|
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) | 1.关键字(register,static,extern,const,typedef)包括每个关键字的作用以及用时的注意事项 2.符合数据类型(结构体,共用体,枚举)包括定义,规定的格式,还有一些相关的问题,比如内存空洞 3.宏定义以及作用 4.控制语句 |
今日开发中出现的问题汇总
| 无 |
今日未解决问题
| 无 |
今日开发收获 | 今天上午把关键字和符合数据类型使用都给搞清楚了,对于关键字的使用注意事项也都掌握,还有各自的作用也已经掌握;复合数据类型的格式,写的基本思路都已经清楚。下午讲了宏和控制语句,还把整个C语言所讲的内容大致回顾了一遍 |
自我评价
(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
| 今天主要是把C语言剩下的知识给讲完了,主要就是对于复合数据类型的定义,但写的还不是很熟练,还需要多敲代码来练习,最终慢慢记住这些知识点。除此之外,还有这些关键字的用法也都清楚,具体的使用的话,也需要敲敲代码来练习 |
其他
| 无
|
1. #include<stdio.h>
int add(int a,int b)
{
return a + b;
}
int sub(int a,int b)
{
return a - b;
}
int mul(int a,int b)
{
return a * b;
}
int div(int a,int b)
{
return a / b;
}
int cal(int a,int b,int(*p_cal)(int,int))
{
return p_cal(a,b);
}
int main()
{
int i;
int (*p_cal_array[4])(int,int);
p_cal_array[0] = add;
p_cal_array[1] = sub;
p_cal_array[2] = mul;
p_cal_array[3] = div;
for(i = 0;i < 4;i++)
{
printf("result = %d\n",p_cal_array[i](4,2));
}
#if 0
printf("result = %d\n", cal(6,5,add));
printf("result = %d\n", cal(6,5,sub));
printf("result = %d\n", cal(6,5,mul));
printf("result = %d\n", cal(4,2,div));
#endif
return 0;
}
2. #include<stdio.h>
struct message
{
int num;
char ch;
char * ptr;
};
typedef struct message Message;
int main()
{
Message msg;
Message * p_msg = &msg;
Message a_msg[3] = {{},{},{}};
msg.num = 2;
msg.ch = 's';
msg.ptr = (char*)malloc(sizeof(char) * 100);
p_msg->num = 3;
p_msg->ch = 'a';
strcpy(msg.ptr,"hello world");
printf("msg.num = %d msg.ch = %c\n",msg.num,msg.ch);
printf("%s\n",msg.ptr);
printf("%d\n",msg.num);
printf("%c\n",msg.ch);
return 0;
}
3. #include<stdio.h>
struct node
{
int num;
char ch;
// char ch2;
short num1;
};
typedef struct node Node;
int main()
{
Node p;
printf("sizeof(p) = %d\n",sizeof(p));
return 0;
}
4. #include<stdio.h>
union node
{
int num;
char ch;
};
int main()
{
union node p;
p.num = 0x12345678;
if(p.ch == 0x12)
{
printf("big\n");
}
if(p.ch == 0x78)
{
printf("little\n");
}
// printf("p.num = %d\n",p.num);
return 0;
}