#include <stdio.h>
int my_atoi(char *pstr) {
int return_i = 0;
int i_sign = 1;
if(pstr == NULL) {
pstr == NULL;
return 0;
}
while(*pstr == ' ')
pstr++;
if(*pstr == '-')
i_sign = -1;
if(*pstr == '-' || *pstr == '+')
pstr++;
while(*pstr <= '9' && *pstr >= '0') {
return_i = return_i * 10 + (*pstr - '0');
pstr++;
}
return_i = return_i * i_sign;
return return_i;
}
int main(void)
{
char arr[5] = {"12343"};
int i;
i = my_atoi(arr);
printf("i = %d\n",i);
return 0;
}
#include <stdio.h>
#include <string.h>
char *my_strcpy(char *str1,const char *str2)
{
char *tempstr = str1;
if(str1 == NULL || str2 == NULL)
return NULL;
if(str1 == str2)
return str1;
while((*str1++ = *str2++) != '\0');
return tempstr;
}
int main(void)
{
char arr[6] = {"hello"};
char buf[4] = {"111"};
//memset(buf,0,3);
printf("%s\n",buf);
my_strcpy(buf,arr);
printf("%s\n",buf);
return 0;
}
mvc
model
view
contorller
工厂模式
观察者模式
代理模式
信号与槽
第一种:自己编写槽函数
使用connect函数进行连接信号与槽
connect(谁发射,发射什么信号,谁接受,接受完了执行那个函数)
第二种方式:点击控件,点击使用转到槽功能,IDE会自动帮我们进行绑定
第三种:使用on_控件名_信号名()形式,编写槽函数,会自动绑定
第四种:使用信号与槽编辑器,但是只能使用系统的信号与系统的槽
自定义信号:
只需要写出信号的声明即可,void signalName();
发射信号,emit signalName();
需要手动使用connect函数进行信号与槽的绑定
可以使用信号与槽进行参数的传递。