指针1 ----声明

1.声明方式:

  1.int *a;

  2.int* a;

两种方式结果相同,都是将a声明为int类型的指针。

2.同时声明多个指针变量

  int *a,*b,*c;

若写作:int* a,b,c;

  相当于int *a,b,c;

  只有a是指针变量,b,c为int类型变量

3.隐式声明

  函数声明时,若省略返回类型和形参类型,则被默认为整型

  变量声明省略类型,则会出现错误

  因此,最好不使用隐式声明

时间: 2024-10-11 05:36:49

指针1 ----声明的相关文章

你必须知道的指针基础-2.指针的声明和使用及数组和指针的关系

一.计算机知道数据类型吗? 1.1 神奇的数据类型 At first,计算机中绝大部分数据都放到内存中的,不同的数据放到不同的内存区域中.But,内存角度没有数据类型,只有二进制:数据以字节(8位二进制)为单位存取.不同数据类型占据不同的字节,例如在32位系统中:int 为4个字节,short为2个字节(下面如未特殊声明,均为32为系统环境下的说明).下面我们看看int类型.short类型和double类型的数字分别在内存中如何存储: ①int类型:99999 由于int类型占4个字节,每个字节

C++ 基类、派生类对象指针的声明与使用

1.类指针.对象指针 class x{ //- public: voidshow(); }; main() { x x1,*ptr1;           //定义类x的对象x1和类x的指针ptr1 x x2,*ptr2;           //定义类x的对象x2和类x的指针ptr2 x*ptr3;                 //定义类x的指针ptr3 //- ptr1 =&x1;           //将指针ptr1指向x1对象 ptr2 =&x2;           //将

指针锱铢---指针的声明赋值,野指针的灾难性后果

#include <stdio.h>int main(){  int a = 10; int *p; p = &a; printf("这就是指针p指向的地址里存的值%d ,说起来容易,用起来准糊涂\r\n", *p); //改了指针指向的地址的内容 *p = 8888; printf("这样一来,a的值就变成了%d\r\n",a); //int *wenwa=NULL;//野指针,通常不允许给野指针赋值,万一指向的是操作系统核心模块地址,放开肆意

指针和数组的定义与声明

情况一:定义为数组,声明为指针 文件1中定义如下: char array[100]; 文件2声明如下: extern char *array; 分析:假如array[100]中存的是"abcde.........."; extern char *array;编译器认为array是一个指针变量为其分配4个字节. 然而,array[100]中的存储方式为: 0X41 0X42 0X43 0X44 则*array取四个字节为0X41424344(没有考虑大端小端),这个地址为谁的地址,鬼知道

复杂指针声明解析

指针为C/C++提供了高效的操作.但指针也有非常多恼人之处,稍稍不注意就可能出现大问题了,当然,本文不讨论那些裸指针之类的兴许问题,我们须要先了解的应该是指针的声明!试想,假设连声明都无法看懂.又何谈使用呢? 可能有人会说指针的声明这么简单,怎么可能看不懂. 那我们来看一个样例: int (*(*x)[10]) (); 看完它,不知各位是否还能继续说简单呢?以下我们就从主要的声明開始,一步一步理解这个复杂的指针声明到底是什么. 先从一个最简单的样例開始: int *p; 一个最简单的int型指针

C语言指针与数组的定义与声明易错分析

部分摘自<C语言深度解剖> 1.定义为数组,声明为指针 在文件1中定义: char a[100]; 在文件2中声明: extern char *a; //这样是错误的 这里的extern告诉编译器a这个名字已经在别的文件中被定义了,下面的代码使用的a是在别的文件中定义的.编译器是按文件分别编译的,当a被声明为char* a时,编译器理所当然的认为a是一个指针变量,在32位系统下占用4个byte,这4个byte存放的是地址,地址指向的空间存储的是char类型数据. 程序会返回SIGSEGV. 2

1.枚举类型、声明指针、常量、存储类型、运算符优先级记忆

原文:1.枚举类型.声明指针.常量.存储类型.运算符优先级记忆 1.枚举类型 枚举(enumerated)类型就是指它的值为符号常量而不是字面值的类型,以下面的这种形式来声明:enum   Jar_Type {CUP,PINT,GALLON,OUART}; 这条语句声明了一个类型,称为 Jar_Type.而enum  {CUP,PINT,GALLON,OUART}; 这条语句声明表示这种类型的变量以整型的方式存储,这些符号名的实际值都是整型值.这里CUP是0,PINT是1,以此类推.下面看一下一

数组与指针

//使用递归来计算阶乘#include<stdio.h>long rfact(int n);int main(){ int num; printf("This program calculate factorials.\n"); printf("Enter a value in the range 0-12(q to quit): \n"); while(scanf("%d",&num)==1) { if(num <0

【转】 指针函数与函数指针的区别

一. 在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义: 1.指针函数是指带指针的函数,即本质是一个函数.函数返回类型是某一类型的指针 类型标识符    *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值.函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量. 表示: float *fun();