#include <stdio.h>

int main ()
{
int var1;
char var2[]; printf("var1 变量的地址: %p\n", &var1 );
printf("var2 变量的地址: %p\n", &var2 ); return ;
}
#include <stdio.h>

int main ()
{
int var = ; /* 实际变量的声明 */
int *ip; /* 指针变量的声明 */ ip = &var; /* 在指针变量中存储 var 的地址 */ printf("Address of var variable: %p\n", &var ); /* 在指针变量中存储的地址 */
printf("Address stored in ip variable: %p\n", ip ); /* 使用指针访问值 */
printf("Value of *ip variable: %d\n", *ip ); return ;
}

#include <stdio.h>

int main ()
{
int *ptr = NULL; printf("ptr 的地址是 %p\n", ptr ); return ;
}
#include <stdio.h>

const int MAX = ;

int main ()
{
int var[] = {, , };
int i, *ptr; /* 指针中的数组地址 */
ptr = var;
for ( i = ; i < MAX; i++)
{ printf("存储地址:var[%d] = %x\n", i, ptr );
printf("存储值:var[%d] = %d\n", i, *ptr ); /* 移动到下一个位置 */
ptr++;
}
return ;
}
#include <stdio.h>

const int MAX = ;

int main ()
{
int var[] = {, , };
int i, *ptr; /* 指针中最后一个元素的地址 */
ptr = &var[MAX-];
for ( i = MAX; i > ; i--)
{ printf("存储地址:var[%d] = %x\n", i-, ptr );
printf("存储值:var[%d] = %d\n", i-, *ptr ); /* 移动到下一个位置 */
ptr--;
}
return ;
}
#include <stdio.h>

const int MAX = ;

int main ()
{
int var[] = {, , };
int i, *ptr; /* 指针中第一个元素的地址 */
ptr = var;
i = ;
while ( ptr <= &var[MAX - ] )
{ printf("Address of var[%d] = %x\n", i, ptr );
printf("Value of var[%d] = %d\n", i, *ptr ); /* 指向上一个位置 */
ptr++;
i++;
}
return ;
}
#include <stdio.h>

int main ()
{
int var;
int *ptr;
int **pptr; var = ; /* 获取 var 的地址 */
ptr = &var; /* 使用运算符 & 获取 ptr 的地址 */
pptr = &ptr; /* 使用 pptr 获取值 */
printf("Value of var = %d\n", var );
printf("Value available at *ptr = %d\n", *ptr );
printf("Value available at **pptr = %d\n", **pptr); return ;
}
#include <stdio.h>
#include <time.h> void getSeconds(unsigned long *par); int main ()
{
unsigned long sec; getSeconds( &sec ); /* 输出实际值 */
printf("Number of seconds: %ld\n", sec ); return ;
} void getSeconds(unsigned long *par)
{
/* 获取当前的秒数 */
*par = time( NULL );
return;
}
#include <stdio.h>

/* 函数声明 */
double getAverage(int *arr, int size); int main ()
{
/* 带有 5 个元素的整型数组 */
int balance[] = {, , , , };
double avg; /* 传递一个指向数组的指针作为参数 */
avg = getAverage( balance, ) ; /* 输出返回值 */
printf("Average value is: %f\n", avg ); return ;
} double getAverage(int *arr, int size)
{
int i, sum = ;
double avg; for (i = ; i < size; ++i)
{
sum += arr[i];
} avg = (double)sum / size; return avg;
}
#include <stdio.h>
#include <time.h>
#include <stdlib.h> /* 要生成和返回随机数的函数 */
int * getRandom( )
{
static int r[];
int i; /* 设置种子 */
srand( (unsigned)time( NULL ) );
for ( i = ; i < ; ++i)
{
r[i] = rand();
printf("%d\n", r[i] );
} return r;
} /* 要调用上面定义函数的主函数 */
int main ()
{
/* 一个指向整数的指针 */
int *p;
int i; p = getRandom();
for ( i = ; i < ; i++ )
{
printf("*(p + [%d]) : %d\n", i, *(p + i) );
} return ;
}

吴裕雄--天生自然C语言开发:指针的更多相关文章

  1. 吴裕雄--天生自然C语言开发:函数指针

    #include <stdio.h> int max(int x, int y) { return x > y ? x : y; } int main(void) { /* p 是函 ...

  2. 吴裕雄--天生自然 R语言开发学习:R语言的安装与配置

    下载R语言和开发工具RStudio安装包 先安装R

  3. 吴裕雄--天生自然C语言开发:结构体

    struct tag { member-list member-list member-list ... } variable-list ; struct Books { ]; ]; ]; int b ...

  4. 吴裕雄--天生自然C语言开发:数组

    ] = {1000.0, 2.0, 3.4, 7.0, 50.0}; ]; #include <stdio.h> int main () { ]; /* n 是一个包含 10 个整数的数组 ...

  5. 吴裕雄--天生自然C语言开发:函数

    return_type function_name( parameter list ) { body of the function } /* 函数返回两个数中较大的那个数 */ int max(in ...

  6. 吴裕雄--天生自然 R语言开发学习:数据集和数据结构

    数据集的概念 数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量.表2-1提供了一个假想的病例数据集. 不同的行业对于数据集的行和列叫法不同.统计学家称它们为观测(observation)和 ...

  7. 吴裕雄--天生自然 R语言开发学习:模块\包的安装命令

    install.packages('模块包名称') 或者 install.packages('模块包名称',repos='http://cran.us.r-project.org')

  8. 吴裕雄--天生自然 R语言开发学习:集成开发环境\工具RStudio的安装与配置

  9. 吴裕雄--天生自然C语言开发:错误处理

    #include <stdio.h> #include <errno.h> #include <string.h> extern int errno ; int m ...

随机推荐

  1. C++ DirectShow读取摄像头后然后保存图像数据

    #include <stdio.h> #include "camerads.h" #include <highgui.h> const char *g_sz ...

  2. Arduino学习——u8glib库资料整理

    第一部分,u8glib标准语法格式: 本文使用的是DFRobot出品的LCD12864 Shield V1.0 端口占用情况: SPI Com: SCK = 13, MOSI = 11, CS = 1 ...

  3. CNN:扩张卷积输出分辨率计算

    扩张卷积(Dilated convolutions)是另一种卷积操作,也叫做空洞卷积(Atrous convolution).相比于普通的卷积,相同的卷积核,空洞卷积能够拥有更大的感受野. 相同的卷积 ...

  4. django 过滤器-查询集-比较运算符-FQ对象-mysql的命令窗口

    """ 返回查询集的方法称为过滤器 all() 返回查询集中所有数据 filter() 返回符合条件的数据 一.filter(键=值) 二.filter(键=值,键=值) ...

  5. 2019.3.11 JavaScript课上笔记

    ---恢复内容开始--- 字面值写到左边 var  x= "1"; ++x .x++ // 都有隐式类型转换 x += 1; // 是字符串的拼接 === 判断引用的对象是不是同一 ...

  6. HDU 3018 欧拉回路

    HDU - 3018 Ant Country consist of N towns.There are M roads connecting the towns. Ant Tony,together ...

  7. IO流处理文件读取到字节数组,再从字节数组读取到文件,Java实现

    package cn.zhang.io; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; impo ...

  8. POJ 1789:Truck History

    Truck History Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 21376   Accepted: 8311 De ...

  9. Thread--线程工作万花筒

    线程工作内存图. 线程状态.

  10. MySQL--基础SQL--DCL

    DCL语句主要是DBA用来管理系统中的对象权限时使用,一般的开发人员很少使用. 1.创建一个数据库用户在z1,具有对sakila数据库中所有表的SELECT/INSERT权限: GRANT SELEC ...