国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言安全編碼數組記法的一致性

2020-01-26 15:30:05
字體:
來源:轉載
供稿:網友

對C語言程序來說,在同一文件中時,void func(char *a);  和  void func(char a[]); 完全等價

但在函數原型之外,如果一個數組在一個文件中聲明為指針,在另一個不同的文件中聲明為數組,那么它們是不等價的

示例代碼如下:

//main.c#include<stdlib.h>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.cchar a[];void insert_a(void) {  a[0] = 'a';}

解決方案如下:

//insert_a.henum {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<stdlib.h>#include"insert_a.h"int main(void){  a = (char*)malloc(ARRAYSIZE);  if(a == NULL) {    //處理分配錯誤  }  insert_a();  return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 屯留县| 江山市| 广水市| 泾阳县| 汤原县| 巍山| 台北县| 广州市| 康乐县| 达尔| 梅河口市| 永福县| 依安县| 武邑县| 凉城县| 青冈县| 环江| 理塘县| 资溪县| 邮箱| 南江县| 郎溪县| 古浪县| 行唐县| 云霄县| 汉中市| 元氏县| 鄂托克前旗| 威宁| 怀仁县| 石柱| 丘北县| 中方县| 新龙县| 永善县| 临邑县| 曲水县| 青龙| 都昌县| 芒康县| 从江县|