苏嵌学习日志01

姓名:高翔
日期: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是一个指针

  • 定义的时候:表示后面的变量是一个指针 int q;
    使用的时候:*表示取值 *q=3; //把3写到指针变量q指向的地址中
    3.a++跟++a的区别
    char *p 和int *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

你可能感兴趣的:(苏嵌学习日志01)