sizeof(array));//array size, 40 bytesprintf("%d\n",sizeof(c_p));//pointer size, 4 bytesprintf("%d\n",sizeof(c_array));//char array size, including the final char '\0', 7 bytes, different from function strlen, which ignoring the ending char '\0'return0;...
sizeof(pointer)仅返回pointer变量本身使用的内存量 2)&运算符 &array是的别名,&array[0]并返回中第一个元素的地址array &pointer 返回的地址 pointer 3)字符数组的字符串文字初始化 char array[] = "abc"将前四个元素设置 array为'a','b','c'和'\ 0' char *pointer = "abc"设置pointer为“ abc”字...
假如array是数组 , 则sizeof(array)是整个数组的大小 ,*array是数组首元素 ,sizeof(*array)是数组首元素大小 ,sizeof(array) / sizeof(*array)就是数组大小 ; array表示数组首元素地址 ,&array表示数组地址 ; 假如array是指针 , 则sizeof(array)是指针变量的大小 4 字节,*array是指针指向的元素 ,sizeof(...
sizeof(array));printf("%u",sizeof(pa));第一个将会输出 40,因为array包含有 10 个int类型的元...
inta,b;intarray[10];int*pa;pa=&a;//&a 是一个指针表达式。Int**ptr=&pa;//&pa 也是一个指针表达式。*ptr=&b;//*ptr 和&b 都是指针表达式。pa=array;pa++;//这也是指针表达式。 char*arr[20];char**parr=arr;//如果把arr 看作指针的话,arr 也是指针表达式char*str;str=*parr;//*parr ...
int a,b; int array[10]; int *pa; pa=&a; //&a 是一个指针表达式。 Int **ptr=&pa; //&pa 也是一个指针表达式。 *ptr=&b; //*ptr 和&b 都是指针表达式。 pa=array; pa++; //这也是指针表达式 example 8: char *arr[20]; char **parr=arr; //如果把arr 看作指针的话,arr 也是指...
如果一个指针指向了数组,我们就称它为数组指针(Array Pointer) 数组指针指向的是数组中的一个具体元素,而不是整个数组,所以数组指针的类型和数组元素的类型有关,上面的例子中,p 指向的数组元素是 int 类型,所以 p 的类型必须也是int *。 反过来想,p 并不知道它指向的是一个数组,p 只知道它指向的是一个整数...
【C语言】--- 复合数据类型之数组(Array)2024-04-283.【C语言】--- 复合数据类型之结构体(Struct)2024-04-294.【C语言】--- 复合数据类型之联合体(Union)2024-04-295.【C语言】--- 复合数据类型之枚举(Enum)2024-04-296.【C语言】--- 指针数据类型(Pointer)2024-04-297.【C语言】--- 自定义数据...
*/voidfun(int*array,int count){int i;for(i=0;i<count;i++)printf("%d ",array[i]);}/* * 函数入口 */intmain(int argc,char**args){// 将要作为实参的数组int array[3]={1,2,3};printf("main : sizeof(array)=%d\n",sizeof(array));// 将数组作为参数传递到函数中fun(array,size...
空指针 - null pointer 什么也不指向的特殊指针是空指针(null pointer),表示空指针的对象式宏NULL是空指针的常量。 指针和数组 数组名原则上会被解释为指向该数组起始元素的指针。 指针p指向数组中的元素e时,p + i为指向元素e后第i个元素的指针p - i为指向元素e前第i个元素的指针 void array_pointer(void...