今日学习任务
|
|
今日任务完成情况
| 今日学习任务按照计划完成。 1.函数指针、函数指针数组 2.Register、static、extern、const 、typedef作用及语句 3.复合数据类型的作用 |
今日开发中出现的问题汇总
|
|
今日未解决问题
| 无 |
今日开发收获 | 今天接着C语言的复习,重温了以前的rigester知识点,相较于以前的,老师通过图形让我更深地了解了指针的定义,也懂得了很多的新知识,老师拿经典的面试题给我们做,也让我们了解了很多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 dev(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 = 0;
/*cal(a,b,add);
cal(a,b,sub);
cal(a,b,mul);
cal(a,b,dev);*/
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] = dev;
for(i = 0;i < 4; i++)
{
(p_cal_array[i])(6,5);
}
int num1 = (p_cal_array[0])(6,5);
int num2 = (p_cal_array[1])(6,5);
int num3 = (p_cal_array[2])(6,5);
int num4 = (p_cal_array[3])(6,5);
printf("add = %d\n",num1);
printf("sub = %d\n",num2);
printf("mul = %d\n",num3);
printf("dev = %d\n",num4);
}
2.
#include <stdio.h>
struct message
{
int num;
char ch;
//char *ptr;
char ptr[100];
};
typedef struct message Message;
int main()
{
Message msg;
Message *p_msg = &msg;
msg.num = 1;
//(*p_msg).num = 1;
p_msg->num = 3;
msg.ch = 'a';
p_msg->ch = 'b';
//msg.ptr = "hello world";
//msg.ptr = (char *)malloc(sizeof(char) * 100);
strcpy(p_msg->ptr,"hello world");
printf("msg.num = %d msg.ch = %c\n", msg.num, msg.ch);
printf("msg.ptr = %s\n",msg.ptr);
return 0;
}
3.
#include <stdio.h>
struct node
{
//char ch2;
int num;
//char ch;
//char ch3;
//char ch4;
};
typedef struct node Node;
int main()
{
printf("sizeof(node) = %d\n",sizeof(Node));
return 0;
}
4.
#include <stdio.h>
union node
{
int num;
char ch;
};
int main()
{
union node p;
p.num = 0x12345678;
if(p.ch == 0x78)
{
printf("little!\n");
}
if(p.ch == 0x12)
{
printf("big!\n");
}
return 0;
}