1) 字符串指针变量是个变量,指向字符串的首地址:而字符串数组名是个常量,为字符串数组第一个元素的地址: 2)字符串指针变量可以赋值,而字符串数组名不能赋值:对于字符数组只能对各个元素赋值,不能用以下办法对字符数组赋值: char str[14]; str = "I love you!"; 而对于字符指针变量,可采用如下赋值: char *a; a = "I love you!"; 赋值给a的是字符串第一个元素的地址 3)定义一个字符串指针变量时,只给指针变量分配了
//数组变量名:就是一个地址:就是数组首元素的地址#include <stdio.h> int main(void) { int age[5] = {10,50,100,22,44}; //正确 //int * p = &age[0];//不能赋值age数组名是常量不允许赋值 //正确 int * p = age;//数组名就是一个地址:就是数组a[0] 的地址:即是数组的首地址 printf("数组首地址:%p %p\n",&age[0], p); int