字符数组与指针的用法

字符数组与指针的用法

字符数组及其两种初始化 
字符数组初始化:char a[5] = {'a','b','c','d','e'}; 
char a[5] = {97,98,99,100,101};//数字表示ASCII码 
char a[] = {97,98,99,100,101}; 
1.在C语言中引用一个单个字符时,应该用单引号‘’括起来。 
2.定义数组同时初始化,可以省略数组定义时[]中的数组长度。

指针定义与使用时的不同意思:

int *p;
int a;
p = &a;
*p = 11;

上面一段代码很好理解,就是通过指针改变整型a的值,但需要区分指针定义时与操作时的不同。 
定义时:指针表示整型变量p,*号只是表示告诉编译器这是个指针,但其本质还是个指针变量(是变量不是指针)为什么要这样说,通过指针的初始化我们就可以理解。 
操作时:像上面一段代码表示的那样*p代表指针变量指向的那个变量,也就是变量a。(可以理解为本质就是个指针了,而不是变量)。所以我们在对指针初始化时,如下;

int a = 23;
int *p = &a; //因为*p代表指针变量,是个变量,
            //a也是个变量而p里面是存的地址故用&a

指针变量的类型是指针类型如上,*p是指针类型,并不是int型。但指针所指向的值必须与指针前类型要一致。

float a = 23;
int *p = &a;    //是错的。

猜你喜欢

转载自blog.csdn.net/qq_31869107/article/details/55261727