ObjectC基础之字符串常量、#define、const、sizeof使用

本文介绍了Objective-C中字符串常量的使用,比较了#define与const定义常量的区别,并讲解了sizeof运算符的应用。通过实例展示了它们在OC中的具体用法。
摘要由CSDN通过智能技术生成

(一)在OC中字符串的使用是用引号包起来的,如下:

NSLog(@“这是一串可用的字符串”);

(二)OC中两种定义常量的方式:

#define 预处理
const

使用案例如下:

#import <Foundation/Foundation.h>

#define LENGTH 10   
#define WIDTH  25
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个简单的示例程序,演示如何使用UART串口发送JSON格式的数据: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <termios.h> #include <errno.h> #include <json-c/json.h> #define UART_DEVICE "/dev/ttyS0" #define BAUDRATE B9600 int uart_fd; int uart_init() { struct termios tty; uart_fd = open(UART_DEVICE, O_RDWR | O_NOCTTY); if (uart_fd < 0) { perror("open"); return -1; } memset(&tty, 0, sizeof(tty)); if (tcgetattr(uart_fd, &tty) != 0) { perror("tcgetattr"); return -1; } cfsetospeed(&tty, BAUDRATE); cfsetispeed(&tty, BAUDRATE); tty.c_cflag |= (CLOCAL | CREAD); tty.c_cflag &= ~CSIZE; tty.c_cflag |= CS8; tty.c_cflag &= ~PARENB; tty.c_cflag &= ~CSTOPB; tty.c_cflag &= ~CRTSCTS; tty.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); tty.c_iflag &= ~(IXON | IXOFF | IXANY); tty.c_iflag &= ~INPCK; tty.c_iflag &= ~(ICRNL | IGNCR | INLCR); tty.c_oflag &= ~OPOST; tty.c_cc[VMIN] = 1; tty.c_cc[VTIME] = 0; if (tcsetattr(uart_fd, TCSANOW, &tty) != 0) { perror("tcsetattr"); return -1; } return 0; } int uart_send_json(json_object *jobj) { const char *json_str = json_object_to_json_string(jobj); int len = strlen(json_str); if (write(uart_fd, json_str, len) != len) { perror("write"); return -1; } return 0; } int main() { if (uart_init() != 0) { exit(EXIT_FAILURE); } json_object *jobj = json_object_new_object(); json_object_object_add(jobj, "name", json_object_new_string("John")); json_object_object_add(jobj, "age", json_object_new_int(30)); json_object_object_add(jobj, "height", json_object_new_double(1.75)); json_object_object_add(jobj, "married", json_object_new_boolean(0)); if (uart_send_json(jobj) != 0) { exit(EXIT_FAILURE); } json_object_put(jobj); close(uart_fd); exit(EXIT_SUCCESS); } ``` 这个程序首先使用`uart_init()`函数初始化UART串口,然后创建一个JSON对象`jobj`,将数据添加到其中,最后调用`uart_send_json()`函数将JSON字符串发送到串口。`uart_send_json()`函数将JSON对象转换为字符串,并使用`write()`函数将其发送到串口。发送完成后,程序释放JSON对象并关闭串口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值