《C陷阱与缺陷》实验记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《C陷阱与缺陷》实验记录相关的知识,希望对你有一定的参考价值。

1.typedef,重新定义的名字为变量名,强制类型转换是定义的格式去掉变量名

#include<stdio.h>
typedef void (*pfunc)(int b);
pfunc print(int,pfunc);
int hello(){}
int main(){
    printf("%u",print(1,(pfunc)hello));
    return 0;
}

2.定义变量与数组

先定义数组,后定义变量

技术分享图片

先定义变量,后定义数组

技术分享图片

#include<stdio.h>
int main(){
    int array[]={a,b,c,d,
                 e,f,g,h,
                 i,j,k,l,},i;
    for(i=0;i<13;i++)
        printf("%c ",i[array]);
    return 0;
}
#include<stdio.h>
int main(){
    int i,array[]={a,b,c,d,
                 e,f,g,h,
                 i,j,k,l,};
    for(i=0;i<13;i++)
        printf("%c ",i[array]);
    return 0;
}

3.5[array]=array[5] 代码同上

4.作为参数的数组声明

#include<stdio.h>
int main(){
    char * hello="hello";
    printf("%s",&hello[0]);
    return 0;
}

结果:hello

 

以上是关于《C陷阱与缺陷》实验记录的主要内容,如果未能解决你的问题,请参考以下文章

读书笔记--C陷阱与缺陷

C经典书籍笔记——C缺陷与陷阱①(词法陷阱)

C陷阱与缺陷----语法陷阱

初学必看 C陷阱与缺陷(第二版)读书笔记

《C陷阱与缺陷》整理二

C语言陷阱与技巧第18节,函数式宏定义的“缺陷”,没有参数类型检查,产生多次副作用怎么办?