ChengXuYuan.com
程序员的职场第一站

C语言中的数组和指针的初始化

在实际编程过程中,应尽量避免使用指针和数组。

(1)指针用于低级操作,容易产生与繁琐细节相关的错误。

(2)其他错误则源于使用指针的语法规则,特别是声明指针的语法。

表现在:

(1)因数组长度固定,如果在编程时没有检查下标,应用了越出数组边界的元素,会导致“缓冲区溢出”。

(2)解引用了未初始化的指针,通常会导致程序的崩溃。

数组初始化方法:

1:在定义数组的同时初始化

int  ia[3] = {1,2,3};

char cal[ ] = {‘a’, ‘b’, ‘c’};

//维数是3

char cal1[ ] = “abc”;

//维数是4,包含一个额外的空字符(NULL)

2:定义时未初始化

采用循环操作:int ia[3];  for(int i =0; i<3; i++) ia[i] = i;

采用strcpy:char cal[10];  strcpy(cal, “hello”);

易错点:

1:char cal[5] = “hello”;

//忽略了结束字符串的空字符null,数组越界。

2:char cal[10];  cal[10] = “hello”;

//cal[10]代表的是一个字符,而不是整个数组。

3:char cal1[10], cal2[10];

cal1 = “hello”;  cal2 = “world”;

//不能使用“=”运算符操作指针

cal1 = cal2;

//两个指针之间非法的赋值运算

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址