阿里巴巴网站建设建议,那个网站可以帮助做数学题,企业法人查询系统官网,seo网站诊断优化流程1、在C语言中,当一维数组作为函数参数的时候,编译器总是把它解析成一个指向成一个指向其首元素首地址的指针 这也就是为什么数组int a[10],a不能a++操作,而把a传递给函数的时候,可以作为指针a++操作的原因。 2、内存为0的地址处,也就是NULL地址处,一般定义指针变量的同时…1、在C语言中,当一维数组作为函数参数的时候,编译器总是把它解析成一个指向成一个指向其首元素首地址的指针 这也就是为什么数组int a[10],a不能a++操作,而把a传递给函数的时候,可以作为指针a++操作的原因。 2、内存为0的地址处,也就是NULL地址处,一般定义指针变量的同时最好初始化为NULL,然后使用完指针之后也将指针变量的值设置为NULL,防止野指针。 3、如果没有返回值,编译器则默认为函数返回的值是int类型。 4、函数的入口处用assert宏作入口校验 一般在函数入口处使用assert(NULL != p)对参数进行校验,在非参数的地方使用if(NULL != p)来校验,但是有个要求,是p在定义的同时被初始化为NULL,如果p指针没有被初始化为NULL,其内部是一个非NULL的乱码
#include stdio.h
#include assert.hint main()
{char *p = NULL;
// char c = 'a';
// p = c;assert(p != NULL);printf("hello");return 0;
} 如果我注释了那2行,程序