指针初始化

中文名 指针初始化
分类 2类
目录导航

整型、浮点型指针等初始化

int i=10;

int * a = &i;

int * a = NULL;(编译没问题,运行错误,指针所指向地址必须为合法有效的内存地址)

a = (int *)malloc(10*sizeof(int));

a = 1;

int * a =10;(错误写法,给指针赋值必须为地址,*p为所指向变量的值)

int *a=&i;

int * c = a + 15;(a代表数组首地址,右侧表达式表示地址向高位移动15位指针所指类型字节即移动4*5字节)

a的地址是10,c的地址是10+ 4*15,因为a的类型是int *,地址增长时加整型的长度。

字符型指针初始化

char str="ksjdkghdksf";

str是一个数组首地址

数组里面的内容是一个字符串

char * pstr="aslgkjklahjkla";

pstr是指向字符串常量的首地址的指针,编译器将字符串常量放在只读数据段.

注意,是只读数据段里面的数据是不可更改的.

相关百科
返回顶部
产品求购 求购