c语言指针
2017-08-01 20:58
155 查看
一、 指针赋值常见错误
例子:
int a,*pi,,,
pi=&a;
*pi=20
pi指的是内存中某个特定位置的地址的代号,经过编译器翻译成地址。*操作符使机器指向那个位置,取得其值;
因为 *pi中,pi作为地址,所以用的时候 必须被初始化。
错误赋值代码:
int *pi=10;
或:
int *pi; *pi=10;
因为pi没有被初始化,所以找不到相应的位置存储数据,所以上述两个代码错误;
此类型 错误不易被觉察,应小心。
正确应为:
int a=10,*pi;
pi=&a;
或
int a=10,pi=&a;;
意思为:pi=&a;
*pi=(a的值);
例子:
int a,*pi,,,
pi=&a;
*pi=20
pi指的是内存中某个特定位置的地址的代号,经过编译器翻译成地址。*操作符使机器指向那个位置,取得其值;
因为 *pi中,pi作为地址,所以用的时候 必须被初始化。
错误赋值代码:
int *pi=10;
或:
int *pi; *pi=10;
因为pi没有被初始化,所以找不到相应的位置存储数据,所以上述两个代码错误;
此类型 错误不易被觉察,应小心。
正确应为:
int a=10,*pi;
pi=&a;
或
int a=10,pi=&a;;
意思为:pi=&a;
*pi=(a的值);