姓名:高翔
日期:2018.9.3
今日学习任务:安装实训环境,学习c语言中指针数组等概念。
今日任务完成情况:今日任务较少,代码量较小,主要为老师例程运行,了解指针概念
e.g. :
#include
#include
char *mystrcpy(char *dest,const char *src)
{
/*while(*src!='\0')
{
*dest=*src;
dest++;
src++;
}*/
while((*dest++=*src++)!=0);
}
int mystrlen(const char *str)
{
int i=0;
while(*str != '\0')
{
i++;
str++;
}
return i;
}
int main()
{
char str[64]="123456789";
char *ptr="hello";
//strcpy(str,ptr);
mystrcpy(str,ptr);
printf("%s\n",str);
printf("%d\n",mystrlen(str));
return 0;
}
#include
int main()
{
printf("int %d\n",sizeof(int));
printf("char %d\n",sizeof(char));
printf("double %d\n",sizeof(double));
printf("float %d\n",sizeof(float));
printf("int * %d\n",sizeof(int *));
printf("char * %d\n",sizeof(char *));
printf("double * %d\n",sizeof(double *));
printf("float * %d\n",sizeof(float *));
return 0;
}
#include
int main()
{
int a[5]={1,2,3,4,5};
int *p1=(int*)(&a+1);
printf("%d\n",p1[0]);
int *p2=(int*)((int)a+1);
printf("%d\n",p2[0]);
int *p3=(int*)(a+1);
printf("%d\n",p3[0]);
return 0;
}
指针数组是数组
#include
#include
int main()
{
char *string[]={"11111","22222"};
printf("%s\n",string[1]);
}
今日开发中出现的问题汇总:关键词的拼写错误,实训环境的搭建问题
今日未解决的问题:课后布置的作业 strcat()
今日开发收获:
1.为什么嵌入式采用c语言编程
c语言是低级语言 执行效率最高 但是高级语言更便于架构
linux是用c语言写的 而该操作系统 功能强大
2.地址习惯用16进制且连续
int p=&a ; p是指针变量 &取地址 表示p是一个指针
4.a和&a 数值相同 但是意义不同
a代表数组首元素地址 a+1 加一个元素 (int *)(a+1); 指向下一个元素(第二个元素)
&a 代表数组的地址 &a+1 加一个数组 (int *)(&a+1); 指向下一个数组
(int *)((int)a+1); 非法访问(指向第一个元素的第二个字节)
5.for(i=0;i