#include
void main()
{
char a[]="happylife";
char * p = a;
printf(" a ----- %d \n",sizeof(a));
printf(" p ----- %d \n",sizeof(p));
}
结果相同吗?...
分类:
编程语言 时间:
2015-05-07 22:03:28
阅读次数:
138
指针数组(array of pointers):存储指针的数组数组指针(a pointer to an array):指向数组的指针,也称为“行指针”指针数组(array of pointers) 定义方法举例:int *a[10] 等价于int *(a[10]) 首先a是一个数组,数组中有1...
分类:
编程语言 时间:
2015-05-01 17:23:08
阅读次数:
165
二维数组:
1)定义形如int a[2][3],此时a代表的是这个二维数组的地址,sizeof(a)为24。
二级指针:
1)定义形如int **p:表示为指向指针的指针
2)二级指针不能和二维数组替换,如int aa[2][3],**a;a=aa;是错误的,但可以用int (*a)[3];a=aa替换。
指针数组:
1)定义形如int *p[5]:表示含有五个指针元素的数组、又称为二维...
分类:
编程语言 时间:
2015-04-29 13:39:28
阅读次数:
173
方式一:值传递 值传递时,会另外开辟一个空间存储函数参数,作为临时变量。无论传递的是指针(数组名)还是普通变量,都是如此。当传递的是指针变量(数组名)时,原指针的值不会改变,但是指针指向的内容会改变。方式二:引用 引用其实就原变量的别名,所以不会另外开辟存储空间。函数中对该变量的修改,会...
分类:
编程语言 时间:
2015-04-29 13:19:27
阅读次数:
140
数组是内存空间的一片连续的区域,用于存贮一组相同数据类型元素的集合。 指针变量中存放的是变量的地址,通过指针取得地址,再通过地址提取数据。 在大多是C语言书中,都有这样的说法,“数组和指针是相同的”。其实,数组与指针,只能在特定的情况下才是相同的,在大多书情况下,他们并不相同。 C语言中每...
分类:
编程语言 时间:
2015-04-27 00:08:39
阅读次数:
231
#include<stdio.h>
#include<string.h>
#defineN4
#defineLEN20
voidmain()
{
inti,j;
chartemp[LEN],name[N][LEN]={"China","America","Austlia","Japan"};
for(i=1;i<=N;i++)
for(j=0;j<N-i;j++)
if(strcmp(name[j],name[j+1])>0)
{
str..
分类:
编程语言 时间:
2015-04-26 01:44:31
阅读次数:
172
几个容易混淆的概念:
指针常量:即指针本身的值是不可改变的,而指针指向的变量的值是可以改变的;
常量指针:即指针指向的变量的值是不可改变的,而指针本身的值是可以改变的; 指向常量的指针
指针函数:函数,返回的是一个指针
函数指针:指针,指向一个函数(这里可以继续嵌套,指向的函数返回一个函数指针........)
数组指针:指针,指向数组
指针数组:数组内存放的是指针
指针与数组
1...
分类:
编程语言 时间:
2015-04-24 10:39:11
阅读次数:
140
函数的名字就是函数的首地址:定义函数指针;int (*p)(int ) p为函数指针变量名字,int 为函数的返回值类型为int型;(int)为函数的形参类型为int型,注:因为优先级所以要用(*p),否则就会p先和后面的()结合为int*p(int),意思就变为p(int)函数的返回值为int*....
分类:
编程语言 时间:
2015-04-24 06:40:29
阅读次数:
138
1. 数组指针:指向数组的指针是数组指针先看下面一段代码:#include int main(void){ int m[10]; printf("m = %p, &m = %p\n", m, &m); printf("m + 1 = %p, &m + 1 = %p\n", m + ...
分类:
编程语言 时间:
2015-04-17 22:15:27
阅读次数:
119