为方便各位小伙伴更好的学习C语言,武林技术小编为此给大家整理了一批资料,供大家交流学习,下面就跟随武林技术频道的编辑一起来先来看看关于C语言指针赋值的问题。

一个代码:

复制代码 代码如下:

#include#include#define uchar unsigned char

#define uint unsigned int

void display(uchar *p);

char h[4] = {'A','B','C','/0'};

char e[4] = {'E','F','L','/0'};

char l[4] = {'M','N','O','/0'};

char o[4] = {'X','Y','Z','/0'};

int main(void)

{

int i;

char c;

uint set[5];

set[0] = h;

set[1] = e;

set[2] = l;

set[3] = l;

set[4] = o;

while(1){

for (i = 0; i < 5; ++i){

display(set[i]);

printf("/n");

sleep(1);

}

}

}

void display(uchar *p)

{

while(*p != '/0'){

printf("%c", *p);

printf("%c", *(p+1));

++p;

}

}

警报如下:

test.c:21: 警告: 赋值时将指针赋给整数,未作类型转换

test.c:22: 警告: 赋值时将指针赋给整数,未作类型转换

test.c:23: 警告: 赋值时将指针赋给整数,未作类型转换

test.c:24: 警告: 赋值时将指针赋给整数,未作类型转换

test.c:25: 警告: 赋值时将指针赋给整数,未作类型转换

test.c:29: 警告: 传递参数 1 (属于 ‘display')时将整数赋给指针,未作类型转换

其中21-25就是

set[0] = h;

set[1] = e;

set[2] = l;

set[3] = l;

set[4] = o;

29是

display(set[i])

虽然只是警报,并且在linux下面也可以运行的很好.但是既然警告了.还是值得讨论下.

待续~

关注中...

如果有哪位知道.可否回复告诉我.谢谢~

------------------------------------------------------------

关于这个问题,我问了寝室的小丁.经过他的修改.程序已经不报警告了.

复制代码 代码如下:

#include#include#define uchar unsigned char

#define uint unsigned int

void display(uchar *p);

char h[4] = {'A','B','C','/0'};

char e[4] = {'E','F','L','/0'};

char l[4] = {'M','N','O','/0'};

char o[4] = {'X','Y','Z','/0'};

int main(void)

{

int i;

char c;

int set[5];

set[0] =(int) h;

set[1] =(int) e;

set[2] =(int) l;

set[3] =(int) l;

set[4] =(int) o;

while(1){

for (i = 0; i < 5; ++i){

display((uchar *)set[i]);

printf("/n");

sleep(1);

}

}

}

void display(uchar *p)

{

while(*p != '/0'){

printf("%c", *p);

printf("%c", *(p+1));

++p;

}

}

在字模数组的首地址赋值方面用了强制转换为int.在函数调用方面.因为子函数中要求到输入为指针,所以在前面的调用时候,不能单纯的写set[i].而是传指针过去.(uchar *)的强制类型转换是为了配合(uchar *p).

-------------------------------------------

应该注意的2点是:

1.给指针只能传地址,不能传值.否则要做强制类型转换.

2.在做类型转换和赋值时候,应该注意赋值的类型匹配.

以上就是关于C语言指针赋值的问题,想必都已有了一定的了解,更多关于C语言的内容请继续关注武林技术频道。

c语言中指针赋值问题,关于C语言指针赋值的问题相关推荐

  1. c语言不同类型指针间的强转,C语言中不同的结构体类型的指针间的强制转换详解...

    C语言中不同类型的结构体的指针间可以强制转换,很自由,也很危险.只要理解了其内部机制,你会发现C是非常灵活的. 一. 结构体声明如何内存的分布, 结构体指针声明结构体的首地址, 结构体成员声明该成员在 ...

  2. c语言中申请内存并初始化,c语言中结构体的定义、初始化及内存分配

    #include struct person { char *name; int age; }; int main() { //结构体可以定义在函数内,也可以定义到函数外 //相当于全局变量与局部变量 ...

  3. c语言中的字节和元素,C语言指向数组元素的指针

    指向数组元素的指针和运算法则 所谓指向数组元素的指针,其本质还是变量的指针.因为数组中的每个元素,其实都可以直接看成是一个变量,所以指向数组元素的指针,也就是变量的指针. 指向数组元素的指针不难,但很 ...

  4. 指针在c语言中的运用,怎么理解C语言中的指针,如何运用?

    恰好我之前写了一系列介绍 C 语言的文章,介绍了什么是指针,以及为什么要使用指针,下面摘录一部分,感兴趣的话,可以点我了解更多. 什么是 C语言指针? 不同的数据类型的主要区别在于占用的存储空间不同. ...

  5. c语言中结构体类型定义的函数指针,结构体中定义函数指针

    结构体指针变量的定义 定义结构体变量的一般形式如下:形式1:先定义结构体类型,再定义变量struct 结构体标识符{ 成员变量列表;-};struct 结构体标识符 *指针变量名;变量初始化:stru ...

  6. C语言中判断int,long型等变量是否赋值的方法

    博主这段时间在写一些C程序的代码,由于以前对C不是了解很多,故遇到很多瓶颈,当然,其中也有很多有趣的方法可以利用以解决这些难题,下面这个问题就是博主遇到的一个麻烦. 声明了 int ,long 型等局 ...

  7. 1. C语言中只能使用单行注释,贵州大学C语言判断题

    1. C程序一个语句只能写在一行上. 2. #define N 10定义了一个值为10的变量N. 3. 设有int a;float f=5.75;在执行语句a=(int)f;后,f变成了int型. 4 ...

  8. C语言中动态数组的作用,C语言实现动态数组

    前言 在纯C语言编程中,数组的创建必须是固定的大小,因为C语言本身没有提供动态数组这种数据结构,这是一个让习惯了使用高级语言编程的人转做C开发面临的一个很头疼的问题,本篇文章就将介绍如何使用纯C语言编 ...

  9. A13在c语言中是合法变量吗,C语言中局部变量和全局变量等在内存中的存放位置.doc-资源下载在线文库www.lddoc.cn...

    C语言中局部变量和全局变量_等在内存中的存放位置.doc C 语言中局部变量和全局变量 变量的存储类别static,extern,auto,register 8.8 局部变量和全局变量在讨论函数的形参 ...

  10. c语言中字符 12是多少,c语言中字符串的讲解(DOC可编).doc

    c语言中字符串的讲解(DOC可编).doc 第一部分:字符串的概念 ---字符串:用双引号引起来的一串字符.在C语言,系统将自动的为字符串添加一个结束标志\0 ,该结束标志不作为字符串的实际长度,但作 ...

最新文章

  1. 【廖雪峰python入门笔记】切片
  2. java condition详解_Java使用Condition控制线程通信的方法实例详解
  3. c++访问者模式visitor
  4. java 写jsp_Java开发之JSP指令
  5. 如何使用ABBYY FineReader 12将JPEG文件转换成Word文档
  6. Java面向对象和面向过程有什么区别?网友:傻傻分不清楚……
  7. 服务器多个网站开启quarz,GitHub - WuLex/QuartzSynchroData: 多个不同站点服务器数据同步到总服务器(数据中心)...
  8. plsql连mysql数据库12541_启动plSql时候报ORA-12541:TNS:tns:无法解析指定的连接标识符的解决办法(org11)...
  9. 【速学速记】Python 高阶函数
  10. Dedecms V5.7后台的两处getshell
  11. MySQL 一条SQL语句执行得很慢的原因有哪些?
  12. 关于APP测试用例点
  13. 微信小程序布局 底部位置固定例子
  14. 用 Python 修改微信(支付宝)运动步数,轻松 TOP1
  15. win10系统安装和优化
  16. Java 方法参数传递
  17. yum及yum-config-manager命令详解
  18. 银行卡号定位(python3)
  19. 头歌实训项目【人与复读机】
  20. 苹果电子邮件怎么注册_外贸技巧 | 6种简单的电子邮件营销技巧,你知道几个?...

热门文章

  1. http/https等爬虫代理ip的基本实现原理
  2. linux主分区表丢失,linux修复丢失的分区表
  3. scaleform mobile sdk for android 多点触摸 修正
  4. linux安装imagemagick,Linux系统下安装ImageMagick
  5. vellamo html5是什么,金立E7评测-搜狐数码
  6. 镶嵌数据集工具小结(二)镶嵌数据轮廓线与边界
  7. H3C V7MSR路由器定时限速的典型应用配置
  8. Git操作:reset
  9. TCP 协议灵魂 12 问,巩固你的网路底层基础!
  10. 老陈说事儿:如何才能不当IT的舔狗?理性认识行业、做正确的事儿。