当前位置:  编程技术>c/c++/嵌入式

C语言安全编码数组记法的一致性

    来源: 互联网  发布时间:2014-10-25

    本文导语:  对C语言程序来说,在同一文件中时,void func(char *a);  和  void func(char a[]); 完全等价 但在函数原型之外,如果一个数组在一个文件中声明为指针,在另一个不同的文件中声明为数组,那么它们是不等价的 示例代码如下: //main....

对C语言程序来说,在同一文件中时,void func(char *a);  和  void func(char a[]); 完全等价

但在函数原型之外,如果一个数组在一个文件中声明为指针,在另一个不同的文件中声明为数组,那么它们是不等价的

示例代码如下:

//main.c
#include
enum {ARRAYSIZE = 100};
char *a;
void insert_a(void);
int main(void) {
  a = (char*)malloc(ARRAYSIZE);
  if(a == NULL) {
    //处理分配错误
  }
  insert_a();
  return 0;
}
//insert_a.c
char a[];
void insert_a(void) {
  a[0] = 'a';
}

解决方案如下:

//insert_a.h
enum {ARRAYSIZE = 100};
extern char *a;
void insert_a(void);
//insert_a.c
#include "insert_a.h"
char *a;
void insert_a(void) {
  a[0] = 'a';
}
//main.c
#include
#include"insert_a.h"
int main(void){
  a = (char*)malloc(ARRAYSIZE);
  if(a == NULL) {
    //处理分配错误
  }
  insert_a();
  return 0;
}

    
 
 

您可能感兴趣的文章:

  • 基于一致性hash算法 C++语言的实现详解
  • c语言合并两个已排序数组的示例(c语言数组排序)
  • 问一个c语言问题:变长数组与全局变量
  • C语言构建动态数组完整实例
  • c语言动态数组示例
  • C语言安全编码之数组索引位的合法范围
  • C语言求连续最大子数组和的方法
  • C语言中全局数组和局部数组的问题
  • c语言中用字符串数组显示菜单的解决方法
  • C语言二维数组的处理实例
  • C语言 结构体动态数组内存释放问题
  • C语言数组指针的小例子
  • Linux下C语言怎样从键盘读入一个十六进制字符数组
  • C语言中多维数组的内存分配和释放(malloc与free)的方法
  • C语言安全之数组长度与指针实例解析
  • 约瑟夫环问题(数组法)c语言实现
  • c语言中数组名a和&a详细介绍
  • 深入理解c语言数组
  • C语言小程序 数组操作示例代码
  • C语言柔性数组实例详解
  • c语言字符数组与字符串的使用详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • HTML语言特殊字符大全及其编码对照表(包括转义方式)
  • 请教,在哪里能够查处Linux系统支持的语言编码。
  • ASN1编码转成C语言后怎么用
  • 怎么用SHELL命令转换语言编码格式?
  • 第3天:定义语言编码
  • Linux c语言 如何统计utf-8编码的包含中英文和各种符号的字符串中各个字符的个数
  • c语言生成随机uuid编码示例
  • C语言安全编码之数值中的sizeof操作符
  • linux下如何测试socket server端可以接受utf-8编码的数据?(用c语言开)发
  • 利用c语言实现卷积码编码器示例
  • 2013年7月和2013年8月编程语言排行榜
  • 如何在GTK2.0下实现国际化(语言选择根据自己设置的语言,不用系统的语言)
  • 2017 年热门编程语言排行榜出炉,你的语言上榜没?
  • C语言中有指针,因此C语言可以创建链表,那么Java语言没有指针,那Java是否可以创建链表呢?
  • 苹果OS X和IOS下最新编程语言swift介绍
  • 求助,在linux下,c语言和汇编语言的接口是什么?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • C语言中间语言 CIL
  • PHP编程语言介绍及安装测试方法
  • 最近学JSP,苦于HTML语言和JAVA语言太差,请教推荐几本书,thanks.
  • Linux下C语言strstr()查找子字符串位置函数详细介绍(strstr原型、实现及用法)
  • 动态编程语言 LIME编程语言
  • c语言实现MD5算法完整代码示例
  • C语言如何改变当前语言环境
  • 以NetBeans IDE为例介绍如何使用XML中Schema语言
  • 如何在VIM中使汇编语言和C语言自动缩进?
  • c语言基于libpcap实现一个抓包程序过程
  • 我安装的linux时默认语言选择的是中文,又乱码,怎么可以解决?怎么更改默认语言成英文?
  • HTML超文本标记语言教程及实例
  • Redhat9安装时语言只选择了中文,现在还能再增加其它语言的支持吗?如英文
  • WEB前端 iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3