有关指针与基础知识小结

有关指针的数据类型的小结

定义

含义

int i ;

定义整型变量i

int *p ;

P为指向整型数据的指针变量

int a[n] ;

定义整型数组a,它有n个元素

int *p[n];

定义指针数组p,它由n个指向整型数据的指针元素组成

int (*p)[n];

P为指向含n个元素的一维数组的指针变量

int f();

f为返回整型函数值的函数

int *p();

P为返回一个指针的函数,该指针指向整型数据

int (*p)();

P为指向函数的指针,该函数返回一个整型值

int **p;

P为一个指针变量,它指向一个指向整型数据的指针变量

基础知识:

float x=3.14,y=x=3.14;

float x=y=3.14 错误

         int a[] = {10,11,12};

         int *p = NULL ;

         p = &a[0];

         *p++;

         *p+=1;

         printf("%d %d %d/n/n",a[0],a[1],a[2]);

----à10,12,12

Int   占四个字节

int data[] = {1,2,3,4,5};

         int i = sizeof data/sizeof(int);

         printf("%d,%d/n",i,sizeof(int));

----à5,4

Sizeof() 计算所需的空间

Strlen() 实际所在的空间

char c[10] = {'a','b','c','d','e'};

         int i = sizeof(c);

         int j = strlen(c);

         printf("%d,%d/n",i,j);

---à10,5

         int i = 3 ;

         printf("%d,%d/n",i++,++i);

-à4,4

         int i = 3 ;

         printf("%d,%d/n",i++,i++);

----à3,3

主要看结合的优先级
int   *p[n]与int(*p)[n]:
应该这样看int*  p[n];是数组,存放的是指针类型
      与in    (*p)[n]:是指针,指向一个存放整形的数组;
  int*  p():是函数,返回值是整形指针;
与int (*p)():是函数指针,指向一个返回型为整形的函数。

 

与   int   *p[4];     等价的是???
a)     int   p[4];
b)     int   p;
c)     int   *(P[4]);
d)     int   (*p)[4];

---àC

注释:[]的优先级大于*的优先级,所以从右面算起

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值